1 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 23:45:15.36 ID:EZjVZgG6.net] ■Visual Studio 2013 Community & Express(無償の統合開発環境)等はこちら www.visualstudio.com/downloads/ ■コードを貼る場合はこちら ideone.com/ ■前スレ C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/tech/1437808445/ C#, C♯, C#相談室 Part89 peace.2ch.net/test/read.cgi/tech/1443271409/ C#, C♯, C#相談室 Part90 echo.2ch.net/test/read.cgi/tech/1455160063/ ■次スレは>>970 が建てる事。 建てられない場合は他を指定する事。
486 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 21:45:14.07 ID:BtzSATc1.net] VirtualMode速すぎる なんだこれ これを待ってました。
487 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 21:53:53.30 ID:mMrYCd0+.net] Formsは長いことやってたんだけど.net coreでのWebシステムって容易く出来るんけ? PHPでのMVCフレームワークとかrailsはわかる
488 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 22:08:22.01 ID:0TBYagU6.net] 基本がしっかりしてれば簡単だよ そのためにUIフレームワークに依存しないように作れっていつも言われるだろ
489 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 22:09:21.73 ID:mMrYCd0+.net] >>481 さんくす 手を出してみるわ 何を選んでもMFCのドキュメントビューよりは良いだろうってのが心の拠り所です
490 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 22:28:44.20 ID:moWXVb0v.net] 仮想化せずにListViewで3万アイテム扱ってたのか・・・
491 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 22:31:16.68 ID:BtzSATc1.net] 仮想化するとInsertionMarkが使えないみたいです。 どうしましょうか?
492 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 23:55:43.96 ID:VtzX6XaJ.net] >>468 発想を変えて、ListViewを作り直したら?
493 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 07:29:54.22 ID:9qlRR3sU.net] >>484 WM_SETREDRAWで描画停止してやれば、Virtualでなくても3万件ぐらいいけると思う。 やり方は、検索すれば出てくる。
494 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 08:09:32.73 ID:tSe+v4ik.net] 3万件用と200件用は別のListViewを用意して、Visibleで切り替えるとか
495 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 10:51:04.21 ID:rgeKQ1h1.net] 質問させてください。 Microsoft Press の「プログラミング.NET Framework 第2版」という本に、下記の記述があるのですが、 【【【【【引用ここから】】】】】 internal sealed class Transaction { private DateTime timeOfLastTransaction; // 最後にトランザクションが行われた時間を記録するフィールド public void PerformTransaction() { Monitor.Enter(this); // thisオブジェクトのロックを取得 // トランザクションを実施... timeOfLastTransaction = DateTime.Now; // 直前のトランザクションの時間を記録 Monitor.Exit(this); // thisオフジエクトのロックを開放 } public DateTime LastTransaction { // 最後にトランザクションが行われた時間を返す読み取り専用プロパティ get { Monitor.Enter(this); // thisオブジ工クトのロックを取得 DateTime dt = timeOfLastTransaction; // 最近のトランザクションの時間を一時変数に保存 Monitor.Exit(this); // thisオブジェク卜のロックを開放 return dt; // 保存された日時を返す } } } 【【【【【中略】】】】】 プロパティの実装でEnterとExitと一時変数dtが必要なことに注意してください。 破壊されている可能性のある値を返さないようにするために、これが重要です。 あるスレッドがPerformTransactionを呼び出している問に別のスレッドがプロパティにアクセスすると、これが起こりえます。 【【【【【引用ここまで】】】】】 Monitorでロックをしてるのに、なぜ「あるスレッドがPerformTransactionを呼び出している問に別のスレッドがプロパティに アクセスする」ことがありえるのでしょうか?
496 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 11:00:53.02 ID:E1v0n/uN.net] >>488 プロパティの実装でEnterとExitと一時変数dtが必要なことに注意してください。 破壊されている可能性のある値を返さないようにするために、これ(enter/exit/dtの存在)が重要です。 (enter/exit/dtが存在しないなら、)あるスレッドがPerformTransactionを呼び出している問に別のスレッドがプロパティにアクセスすると、これ(破壊されている値を返すこと)が起こりえます。 つまり(きちんと)ロックしてるならアクセスすることはない
497 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 11:14:59.06 ID:rgeKQ1h1.net] すみません。質問の書き方がマズかったですね。 それと、もう一度自分でよく考えて、自己解決しました。 疑問に思ったのは、 ・複数スレッドが同時にアクセスしないようにするために、EnterとExitが必要なことは わかるが一時変数dtはなぜ必要なのか? ・Enter〜Exitでロックしてても、PerformTransactionの呼び出し中に別スレッドが アクセスすることがありえるのか? ・その問題を回避するために、いったん一時変数dtに退避する必要があるという意味か? ということでした。 しかし、よく考えれば、疑問が解消しました。 ・dtが無いとreturnで値を直接返すことになる ・そのためにはreturnをEnterとExitで囲む必要がある(がそんなことはできない) ・だから、dtに入れてる ってだけのことですね。お騒がせしました。 回答いただいた方、ありがとうございました。
498 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 14:59:01.41 ID:o/YiWCEr.net] >>486 WM〜でなんかやるならInsertionMark云々だって自己解決できるような気が
499 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 22:39:52.04 ID:9qlRR3sU.net] >>491 描画止めるくらいであればウインドウメッセージとかよくわからなくてもググって数行コピペするだけで出来るし、既に非Virtualで作ったものをVirtualに変更するより手っ取り早いかなと思って。
500 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 23:37:43.42 ID:rW4zRmsa.net] InsertionMarkってNearestIndexが使えないだけみたいで そこだけ計算で出してやれば使えました。 お陰で高速な動作ができるようになりました。ありがとうございました。
501 名前:デフォルトの名無しさん [2016/12/14(水) 22:10:21.05 ID:zGQk9RuM.net] 正規表現Regexのインスタンスを作る際の文字列指定をするときに、 @を先頭につけているのを見るのですが、 これはどういったことでしょうか 必要なのでしょうか
502 名前:デフォルトの名無しさん mailto:sage [2016/12/14(水) 22:16:24.21 ID:LQhYfqJw.net] >>494 \を大量に書かなくていいようにするため
503 名前:デフォルトの名無しさん mailto:sage [2016/12/14(水) 23:05:36.02 ID:PdV20HuV.net] Rubyには、こういう関数があるけど、C#には無いの? rp = Regexp.escape("$bc^") \$bc\^ Regexp.escape(string) -> String string の中で正規表現において、特別な意味を持つ文字の直前に、 エスケープ文字(バックスラッシュ)を挿入した文字列を返します
504 名前:デフォルトの名無しさん mailto:sage [2016/12/14(水) 23:08:32.15 ID:+dTErpY/.net] そのまんまのがあるが Regex.Escape(string)
505 名前:デフォルトの名無しさん [2016/12/14(水) 23:16:39.96 ID:zGQk9RuM.net] >>495 494です ありがとうございます
506 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 08:46:01.32 ID:3NUBKOAZ.net] 完全に市場はJavaの圧勝が決まったようだ。
507 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 12:09:47.56 ID:VtGam84M.net] >>499 へーすごいね
508 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 12:57:24.49 ID:4tPXC7sh.net] 金箔貼っても糞は糞。を思い出した。
509 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 13:45:31.77 ID:7KRIzock.net] https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja
510 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 13:55:12.96 ID:8Dy0z+2t.net] chrome.webRequest.onBeforeRequest.addListenerでこれブロックしてる "*://b.st-hatena.com/*", "*://b.hatena.ne.jp/entrylist/*", "*://b.hatena.ne.jp/entry/image/http*", "*://b.hatena.ne.jp/entry/json*", "*://b.hatena.ne.jp/bc/or/http*", "*://api.b.st-hatena.com/entry.count*", "*://cdn-ak.b.st-hatena.com/*",
511 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 19:32:58.03 ID:aesj07do.net] c#で書かれた解析機を吐き出すyaccみたいなツールってないの?
512 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 20:28:20.48 ID:u3iwxuUX.net] 自分に合ったのを探せ https://en.wikipedia.org/wiki/Comparison_of_parser_generators
513 名前:デフォルトの名無しさん [2016/12/19(月) 00:22:28.34 ID:hPPOameE.net] テキストボックスでValidatingを実装し、e.cancel=trueにした場合について2つ質問があります。 1.フォームの×ボタンを押してValidatingが発生しe.cancel=trueになっても、form.closingを実装するとフォームを閉じれるとネットブログであったのですが、 これはどういった仕組みでしょうか? cancelになっても別のコントロールについては実装すれば、その処理が走るのでしょうか。 また、msdnでのそこに関する説明はどこにありますでしょうか? 2.そもそも,フォームの×ボタンでValidatingを走らせないようにするにはどうしたらいいでしょうか?
514 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 14:59:52.95 ID:/uogIQCg.net] 2つと言いつつ1に3つぐらい質問があるように見える > form.closingを実装するとフォームを閉じれる 実装するとじゃない。 Closingイベントのイベントハンドラでe.Cancelをfalseに設定したら閉じられる。 > これはどういった仕組みでしょうか? Validatingで設定したe.CancelがClosingで設定されるe.Cancelで上書きされるだけ。 > cancelになっても別のコントロールについては実装すれば、その処理が走るのでしょうか。 ちょっと何言ってるか分からない。 > msdnでのそこに関する説明はどこにありますでしょうか? ValidatingとClosing(FormClosing)のページにないんなら、ないんじゃない? > フォームの×ボタンでValidatingを走らせないようにするにはどうしたらいいでしょうか? WM_CLOSEをハンドルする方法とか提案されてる d.hatena.ne.jp/dotnetmemo/20060702/1151839515
515 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 21:55:11.26 ID:m20BeiOW.net] 前から疑問だったんだがValidatingでフォーカス移動封じるタイプのUIって誰が得するんだ?
516 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 23:07:10.38 ID:nxaByp7v.net] 開発者の保身に役立つ ユーザビリティ何それ
517 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 22:02:28.59 ID:OBoWPQLO.net] VisualStudioでスキャフォールディングっていうの? あのC#コード生成ってどうやってんの? 右クリックメニューのコマンドで画面開いてパラメータ入力したらコードがいくつかババっと出力されてプロジェクトにインクルードされて時にはconfigまで書き換わるあの便利なやつ
518 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 22:13:35.55 ID:I2xL3xVw.net] 子供発見
519 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 23:15:00.27 ID:EydnUon0.net] >>510 テンプレートで生成してるだけだよ 自分で同じようなことやりたければT4でも調べてみたら
520 名前:デフォルトの名無しさん [2016/12/22(木) 00:41:34.58 ID:0KrqUh09.net] >507 506です。遅くなりましたがお答えありがとうございます。 補足で質問です。 > cancelになっても別のコントロールについては>実装すれば、その処理が走るのでしょうか。 ここに関しては、validatingでe.cancel=trueにしたら、そもそもclosingが走らないかと思っていたのですが、そういうことではないのでしょうか。validatedまでキャンセルになるということでしょうか。
521 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 00:52:26.00 ID:3F8kH50r.net] closingにデバッグポイント置いてそこで停まったら実行されるってことだろ そんくらいもできないのかよ
522 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 10:02:04.72 ID:i/pZa1E8.net] https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja
523 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 10:12:48.15 ID:hYDEOt1H.net] mbgdnfmdelffjdhkdggilmphfdihnmcj をNGワード設定だな。この開発者そこらに張りまくってやがる
524 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 13:13:48.39 ID:/B2iyB1G.net] そうなの?登録しとこっと…ハッ
525 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 06:16:26.82 ID:WEJSRv5C.net] PythonのコードをC#で書き直してるんだけどさあ C#で関数の引数に関数を指定することって出来ないのかな? 具体的にしたいことは関数の傾きを求めることで、たとえば適当な関数 float A(float x){return x^2;} があったときに、傾きを求める関数 float B(関数, float x){return xでの傾き;} みたいなものを作成して d = B(A(), 0.1f); のような呼び出し方をしたいんだけど・・・・なにかそれに近いC#のコードの記述方法ってないかな?
526 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 06:53:00.31 ID:kPI05Gb3.net] delegate じゃ駄目なの?
527 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 06:56:25.78 ID:iV5eYun0.net] float B(Func<float, float>, float) ということなのかな
528 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 07:23:08.42 ID:WEJSRv5C.net] >>519-520 デリゲートを使うのが一番近い記述ができるのかな? そうするとミスって複数メソッドを登録したときの処理も記述しとかなきゃなんないかな・・・・
529 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 07:41:28.77 ID:qXNVWWNf.net] >>518 関数を引数にしたいなら520でいいけど そもそもC#で任意の関数を引数にして傾きを求めるのは無理だと思うよ 引数の関数が微分可能かどうか(下手すると連続かどうか)も保証されてないのに
530 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 09:21:29.09 ID:3LTJc3r/.net] 微分可能であることの保証ができないなんてどの言語でも一緒だろ イベントハンドラ以外のデリゲートでマルチキャストを使う馬鹿もいない(いたら今すぐやめろ)から無視していい あとそういう計算にfloat使うと激しく誤差が出るからfloatじゃなくてdouble使え Pythonの浮動小数点数もdouble精度だ
531 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 10:31:06.47 ID:dPbQS77J.net] >>522 微分可能とか最近覚えた用語を使いたくてしょうがないんだな w
532 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 10:37:23.24 ID:qXNVWWNf.net] あらかじめコーディングされた関数たちしか使わないなら、導関数も事前に用意しておけばいいよね >>523 mathematica等の数式処理言語ならできるよ
533 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 12:25:20.15 ID:1tLIoM8k.net] 関数の数値微分は機械学習とかシミュレーションとかで普通に使うぞ
534 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 15:05:19.64 ID:uriaUnJG.net] 数学とC#の関数の定義の区別ができないお子ちゃまですか。
535 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 15:50:11.41 ID:IXC75mXH.net] おまえはC#の関数で、俺は数学の関数だ! そこになんの違いもありゃしねぇだろうが!
536 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 15:52:59.52 ID:51ELz7Bu.net] 空のWebアプリプロジェクトからASP.NET MVCをインストールして適当にビューを作ったんだけど マークアップエディタのインテリセンスにViewBagがないって怒られます コードエディタでは普通にViewBagにアクセスできます これはいったいどういうことなんでしょうか
537 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 16:49:07.86 ID:uriaUnJG.net] 式をこねくり回したいんだろう。 自分ですうしきクラスを作れよ。
538 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 17:01:13.35 ID:WEJSRv5C.net] >>522 たしかに解析的に正しい微分できないけど、僅かにXをずらしてそれっぽい数値を出したいんです
539 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 17:07:45.02 ID:3KzFEnUI.net] 微分可能かとどう実装するかは別の問題だからどうでもいいなw ちょっと大げさめだが、俺ならinterface使う
540 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 18:08:40.53 ID:2kirY5E3.net] >>531 何が言いたいのかよく分からんけど普通にこういうのじゃいかんの? static double GetSlope(Func<double, double> func, double x, double delta = 1e-6) { var left = func(x - delta/2); var right = func(x + delta/2); return (right - left) / delta; }
541 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 19:30:16.14 ID:dPbQS77J.net] >>533 いや実装方法はわかってるでしょ python からの移植なんだし >>531 は >>522 が微分可能とか言い出してるからそれへの説明だと思うぞ
542 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 22:57:47.19 ID:ZPnvY2Gu.net] >>524 えっ?
543 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 01:15:18.80 ID:2bXL0gSr.net] 音声付の外国語の単語学習アプリを 作ろうとしてます。 数千の単語の音声を、少数のファイルで扱うには どのような方法使えばいいんでしょうか?
544 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 02:05:37.96 ID:1Va0hmvu.net] 全部つなげて1つのファイルにしておいて、 欲しい時にはその単語データのオフセットと長さを指定して取り出して再生、かな
545 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 02:11:45.12 ID:xhZEf65t.net] 圧縮された音声データでそんな高精度のシークが可能なのかなw っていうか、今時のWindowsってたいがいの言語の音声合成エンジンがタダで提供されてなかったっけ?
546 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 02:18:12.49 ID:tQvSe6Qr.net] >>538 バイト配列にしてつなげてサイズと順番のインデックス作ればいいだけ
547 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 02:45:35.51 ID:bvgmOMUN.net] 話が噛み合ってないな >>537 や>>539 はバラバラの既存の単語音声データを単一ファイルにまとめる話 >>538 はボインや子音とかから合成するTTSライブラリ使えって話 >>536 の目的は学習アプリ 前者なのか後者なのかはっきりさせないと答えようがないが TTSから垂れ流す音声が正しいとは限らないので 単語レベルなら既存の音声辞書から引っ張って来た方がいい気はする
548 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 07:18:53.50 ID:MTT7ZR6N.net] ボインは赤ちゃんのためやでー
549 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 08:51:11.94 ID:NMeoNRf0.net] 音声を64kぐらいでMP3化してSQLiteに登録するのが最善じゃね?
550 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 09:09:11.14 ID:r6LchLOJ.net] 今時はクラウドだろ バラバラのままでS3にでも突っ込んどけ
551 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 10:03:57.23 ID:bejmTeDn.net] 再生の度にHDDから読み込むともたつくときがあるんだよね だからといってゲームみたいにシーンに必要なデータを予め読める量でもないし 難しかったな
552 名前:デフォルトの名無しさん [2016/12/27(火) 19:34:32.54 ID:r2C7TXrR.net] ASP.NET WebフォームとMVC勉強するならMVC一択ですか?
553 名前:デフォルトの名無しさん mailto:sage [2016/12/27(火) 19:44:21.85 ID:RazBYv5e.net] >>545 もちろん CoreもFullも使えるし
554 名前:デフォルトの名無しさん [2016/12/27(火) 21:03:13.98 ID:kWoV7/2e.net] >>546 ありがとうございます やはりそうなんですね
555 名前:デフォルトの名無しさん mailto:sage [2016/12/27(火) 22:49:58.42 ID:DbM4OtJE.net] ASP.NETの基本的なことを学ぶなら空のWebFormsから始めた方がいい MVCから入るとプロジェクトテンプレートの時点で訳が分からなくなって意欲を損なう
556 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 00:24:46.29 ID:6PQ8eENJ.net] >>548 いやいや今どきWeb Formsとかないわ 仕事で仕方なくっていう理由ならわかるけど
557 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 02:37:03.12 ID:tHS+BZPK.net] windows formでtwitterクライアントを作ろうとしているのですがタイムラインをどう表示するかで詰まっています 具体的に言うとブラウザや携帯のtwitterアプリで見るような形でタイムラインを表示したいのですがどのようなコントロールを使えばいいのか分かりません どなたか教えていただけないでしょうか
558 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 06:10:33.37 ID:U/Wkcgn0.net] WebBrowser
559 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 06:28:56.80 ID:hLvgF446.net] >>550 まずはタイムラインの仕様を詳しく書いて
560 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 07:40:36.68 ID:EECpjgXG.net] 俺もWebBrowserコントロールがいいと思うな。
561 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 07:55:45.93 ID:nclhbqFU.net] Twitterはツイートの表示の仕方がディスプレイガイドラインによってガチガチに決められてる 独自に作ったところで結局同じものを再発明することになるだけで時間の無駄でしかない 結論として、WebBrowserでいい
562 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 11:01:45.01 ID:Xid52+QB.net] electron使え
563 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 11:06:16.13 ID:WHhbvFAo.net] UWFは知らんけどWin8のストアアプリにはそんなサンプルが結構あったね。 あの手のUIとXAMLは相性がいいとか何とか。 そういうのパクってWPFで....と思ったけどWindos Formで作るのか
564 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 11:11:05.17 ID:Xid52+QB.net] Krileとかいう うぃんどうずさいきょうくらいあんと はWPFだぞ
565 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 11:33:29.67 ID:tDjKTni2.net] まったく同じもん作りたいならWebBrowserコントロールだけど そうじゃなきゃリストビューのオーナードローかな なんか意図があるから作りたいわけだろうからそれに合わせて作れとしかw
566 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 16:33:19.65 ID:XPsq6pGc.net] PictureBoxだろ。
567 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 17:04:41.95 ID:hmpOAOdC.net] ツイッターほとんど使わんので勘違いしてるかもしれんけど、 Windows Formなら複合コントロール(UserControl)使うのが一番現実的なような気はする
568 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 20:06:12.28 ID:tHS+BZPK.net] >>552 基本的にはブラウザで見るものと同じです が、リプライ、RTなどのアイコンがなくなっておりさらに時間の表示位置と形式が違います また、どのクライアントでツイートしたかの情報も表示します クライアントの情報はツイート文の下に表示し、時間は絶対時間表記でクライアント情報の右に表示します
569 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 20:09:09.19 ID:ace8uG6s.net] >>561 Twitterの規約に違反してる
570 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 20:15:46.64 ID:tHS+BZPK.net] >>562 違反している部分は例えば時間表記はデフォルトでの設定は相対時間表記にしておき設定を変更することによって絶対時間表記にすることができるといった方法で回避しようと考えています
571 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 20:34:23.74 ID:EECpjgXG.net] なんでWebBrowserコントロールは嫌なの? 手軽に見た目もきれいに作れるし仕様変更もし易いのに。 PictureBoxにゴリゴリ描くのも楽しいだろうけど仕様変更が辛いよ。
572 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 20:42:16.89 ID:tHS+BZPK.net] >>564 個人的な考えなのですがWebBrowserコントロールを使うのであれば普通のブラウザソフトを使ってTwitterをすればいいと考えているからです
573 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 21:54:16.84 ID:Bwga9xUV.net] >>556 確かにWPFはこういうの得意だね。 >>563 誤魔化してるだけで、回避は出来てないような。
574 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 22:32:59.93 ID:tHS+BZPK.net] >>566 WPFの方が作りやすいでしょうか? 規約については他のクライアントがこのような方法をとっていたのでこれで良いものと思いまして…
575 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 22:43:34.20 ID:6Nd1Z00H.net] TwitterのタイムラインをWebBrowserでやろうとした場合ってHTMLを加工してタイムラインだけを取る的な感じになるの?
576 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 22:56:26.65 ID:EECpjgXG.net] 普通はタイムラインのデータを取得してHTMLを生成してWebBrowserコントロールに 流し込むってイメージだと思うよ。
577 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 23:00:12.19 ID:Bwga9xUV.net] &g
578 名前:t;>567 WPFはちょっと凝ったUI作るのにはお勧めなんだけど、初期の学習コストが大きいのがネック。 規約に関してはグレーゾーンでしょ。Twitter社次第。 [] [ここ壊れてます]
579 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 23:30:17.32 ID:NekU8PBK.net] var dic = new Dictionary<object, object>(); var isd = dic is IEnumerable<object>; var asd = dic as IEnumerable<object>; ↑これなんだけど、vs2015だと 実際の値は isdがfalse asdがnull なんだけど、ウォッチ式上は isdがtrue asdには値が入ってるんよ。 オレの環境だけ? vs2010はどっちもfalseのnullなんだよね。 他の環境は手持ちがなくて確認できず で、本題なんだけど Dictionary<T, U>をIEnumerable<object>に変換できないかね? 誰かやり方知りない?
580 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 23:32:42.76 ID:gapvLjp6.net] Cast<object>()
581 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 23:52:57.99 ID:NekU8PBK.net] >572 サンクス すまんがもう一個 Dictionary<T, U>を一度object型に変換した後にDictionaryに変換せずに IEnumerable<object>に直接変換する方法ってある? 元々、object型の値がIEnumerable<V>を継承してるか、継承していたら変換するって処理を作ってる時に気付いたもんで 後出しで申し訳ないが知ってたら教えてくり
582 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 00:33:10.83 ID:u+8RF5XF.net] >>569 なるほどthx
583 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 00:38:59.83 ID:ICm4kcbN.net] >>573 ターゲットフレームワークが4以降なら直接IEnumerable<object>にキャストできる Dictionary<,> は IEnumerable<KeyValuePair<,>> を実装している .NET4以降ではIEnumerable<>は共変だからIEnumerable<派生>をIEnumerable<既定>として扱える あと関係ないけど.NETの場合ジェネリックの型引数は 1つの場合はT、複数の場合はTKey, TValueのようにT〇〇と名付ける決まりだから Java臭いキモい書き方はやめろ
584 名前:573 mailto:sage [2016/12/29(木) 00:49:52.62 ID:ICm4kcbN.net] すまん訂正 KeyValuePair<,>は値型だから不変だな 直接キャストはできないので>>572 で全要素を個別にボックス化してやる必要がある
585 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 00:58:24.25 ID:ICm4kcbN.net] あと >object型の値がIEnumerable<V>を継承してるか、継承していたら変換する だけど、 IEnumerable<object>のかわりに単に非ジェネリックのIEnumerableにキャストすりゃいいよ IEnumerable<>はIEnumerableを継承しているので、 IEnumerable<>なら要素が値型だろうが何だろうがIEnumerableには確実にキャストできる どうしても<object>にしたいなら ((IEnumerable)obj).Cast<object>() で変換できる
586 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 01:43:17.27 ID:yvgqyy5k.net] おぉ、サンクス!! 値型だとダメなのか。知らんかったわ。 名前については気を付けるよ。 .NETのクラスライブラリ設計にも書いてあんね。もう一度読み返すよ。 助かった。ありがとう