1 名前:名無しぃ♯ [2008/06/21(土) 17:51:22 ] (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。 c++厨の嵐はスルー汁。 前スレ C#, C♯, C#相談室 Part46 pc11.2ch.net/test/read.cgi/tech/1208791919/ その他テンプレ>>2-5 くらい
652 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 08:49:25 ] >>650 それでもいいけど、それは関数化すべき気がする。 static IEnumerable<T> Concat<T>(IEnumerable<IEnumerable<T>> listlist) { return listlist.SelectMany(list => list); } を作って、Concat(Concat(listlistlist));
653 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 08:55:21 ] メソッドと関数って何が違うの?
654 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 08:56:39 ] メソッドはクラスの一部だけど関数はそうじゃなかったような・・・ というか関数はそもそもC時代の名残だし
655 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 09:03:34 ] >>653 昔の名残。 OOP 用語的にはメソッド、昔の名残的にはメンバ関数。 単に関数っていうと、グローバル関数(C# では定義できない)のことだけど、 非 OOP 言語ではグローバル関数として定義するような static メソッドのことを関数って呼んだりする。 関数化ってのも、メソッドとして独立させろって意味。 サブルーチン化って言った方がいいかも。
656 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 09:08:55 ] サブルーチンって更に化石用語な気が。
657 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 09:29:32 ] Procedure / Function、Sub / Function のように 関数とサブルーティンを分ける言語も多いね。 サブルーティンを戻り値のない関数としたのはCあたりからだったかな。
658 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 10:25:21 ] BackGroundWorkerとThreadってどっちがパフォーマンスいいの?
659 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 10:38:04 ] 気にするほどのもんでもない
660 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 11:21:39 ] >>307 .Where 以降の構文は、3.5から追加されたものだと 思うのですけれども、なんと呼称されているでしょうか? オブジェクト内のメソッド呼び出しのようですし Linq とはまた別の新しい技法のような気がします。 てか、Where, ToList, ForEach が一般的過ぎて検索しにくい・・・
661 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 11:22:42 ] 拡張メソッド 実態は静的メソッドの呼び出し
662 名前:660 mailto:sage [2008/08/05(火) 11:39:51 ] 72.14.235.104/search?q=cache:XjAX73gxeIgJ:msdn.microsoft.com/ja-jp/library/bb342261.aspx+Where,+ToList,+ForEach+3.5+C%23&hl=ja&ct=clnk&cd=1&gl=jp&lr=lang_ja というかドキュメント嫁、じぶん 基本型のbuiltin関数を暗黙的にオーバーロードしてる いうのが何か引っかかる・・・Where, ToList, ForEachは どこに所属してるメソッドなのかという、Linq難しいな…orz
663 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 11:53:22 ] for m in Assembly.LoadFrom("Hoge.dll").GetType("Hoge.Tool").GetMethods(): where(m => (!m.IsPublic && !m.IsPrivate && m.Name[0] == 'A')): for elm in m.ToList(): Console.WriteLine(elm) .Where(m => (!m.IsPublic && !m.IsPrivate && m.Name[0] == 'A')) .ToList().ForEach(Console.WriteLine); sql みたいな書き方をしてる事例ちょくちょく見かける あれはシンタックスシュガーみたいなもんかしらん 209.85.175.104/search?q=cache:M90LdfsXoOYJ:msdn.microsoft.com/ja-jp/library/system.reflection.fieldinfo.ispublic (VS.80).aspx+IsPublic+IsPrivate&hl=ja&ct=clnk&cd=3&gl=jp&lr=lang_ja IsPublicは fieldinfo のメソッドか・・・ C#だとメソッドもフィールドの一種なのかな、C++と違うとか
664 名前:660 mailto:sage [2008/08/05(火) 12:01:18 ] 209.85.175.104/search?q=cache:90Q7i7GDavEJ:msdn.microsoft.com/ja-jp/library/system.reflection.methodbase.isspecialname.aspx+IsPublic+IsPrivate+methodinfo&hl=ja&ct=clnk&cd=2&gl=jp&lr=lang_ja ドよめ 滝に打たれてチネ…orz
665 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 22:50:40 ] >>660 それもLINQ。 from x in list where x > 10 select x; みたいなのはLINQクエリ式。 list.Where(x => x > 10); みたいなのはメソッド形式のLINQ。 >>663 そう、構文糖衣。 from x in listX from y in listY select x * y; みたいな構文が、メソッド形式ではどうやってもスマートな書き方できなかったから導入されたらしい。
666 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 23:37:27 ] >>665 その例だと listX.SelectMany(x => listY, (x y) => x * y) こうなるけど、例としては不十分な気がする これくらいにしないと from x in listX from y in listY where x > y select x * y; listX.SelectMany(x => listY, (x, y) => new { x, y }) .Where(z => z.x > z.y) .Select(z => z.x * z.y); あと、let入るとさらに面倒になるな
667 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 23:45:10 ] user32.dllのAnimateWindow()を呼び出しているのですが、 CPU負荷が大きくてガクガクします。 負荷を下げる方法ってありませんか?
668 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:03:44 ] AddRange()に二次元配列を渡す方法はないですか?
669 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:13:20 ] >>668 直接は無理。 LINQ 使って軽い変換かければ可能。 例えば、int[ , ] array なら l.AddRange(array..OfType<int>()); int[][] なら l.AddRange(array2.SelectMany(x => x));
670 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:57:12 ] 乙です。
671 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 02:23:30 ] >>666 外部結合になるとクエリ式でももうわけわからん var r2 = from x in "abcdefghijklmn" join y in "ABCDEFGHIZ" on x equals Char.ToLower(y) into yex from y in yex.DefaultIfEmpty('.') select new string(new char[] {x, y});
672 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 05:36:57 ] VS2008EEを使用中です。 C#でDBを使うデスクトップアプリを作る場合、 DBは何を使うのがベストなのでしょうか? とりあえずSQL compact3.5ってのを弄ってみましたが、 DBファイルが独立して作られてて、なんか妙な気分です。 ビルドしたらアプリに含まれるようになるんでしょうか? ほかにXMLを使うやり方もあるそうですが、難易度高すぎる気がします。 なにか他にお勧めあったら、教えてくだちい。
673 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 08:23:08 ] DBをアプリに含めるってのの方が変じゃね? LINQ使えばXMLもSQL Server Compactも大差ないと思うが。
674 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 08:27:51 ] >ビルドしたらアプリに含まれるようになるんでしょうか? そんなん聞いたこともないわ。 Accessのイメージで言ってるのか?
675 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 09:10:50 ] Firebird使えばできなくもないがXMLで難易度高すぎなら無理だろうな
676 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 09:32:53 ] >>673 ,674 別になってるのが普通なんですね(汗 おっしゃるとおり、Accessのようなものをイメージしてましたorz 言われてみれば、Web系でもDBと処理は別になりますよね・・・ >>675 一応、ちょっとだけ弄ってみたんですが、 木構造が複雑になってしまい、これだったら慣れてるRDBのほうが楽かなと。 恥ずかしながらFirebirdは初耳でした。ちょっと調べてみます。
677 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 18:39:17 ] >676 何がしたいのか分からないけどXmlSerializerあたり調べてみたら?
678 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 19:15:20 ] 「DBファイルが独立して〜」の意味が把握できないけど、アプリにDBを組み込ん じゃいたいってことなら SQLite とかの組み込みDBって手があるよね。
679 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 19:34:28 ] >678 俺も>672を読んでそう思ったので組み込みDBにできるFirebirdの名前出した。 けど>676読んだら「RDBが使いたい」ってわけじゃ無い感じがしたんでXmlSerializer言ってみた。
680 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 20:23:58 ] コントロールのバインドはDBじゃなくてたんなる int[]とかからも情報を取り込めるですか?
681 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 20:54:29 ] foreach (var msg in FizzBuzz(100)) { Console.WriteLine(msg); } ということができるように、 public static IEnumerable<bool> Fizz() { while (true) { yield return false; yield return false; yield return true; } } public static IEnumerable<bool> Buzz() { while (true) { yield return false; yield return false; yield return false; yield return false; yield return true; } }
682 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 20:56:28 ] public static IEnumerable<string> FizzBuzz(int max) { var fizz = Fizz(); var buzz = Buzz(); foreach (var i in Enumerable.Range(1, max)) { bool isFizz = fizz.First(); bool isBuzz = buzz.First(); fizz = fizz.Skip(1); buzz = buzz.Skip(1); if (isFizz && isBuzz) { yield return "FizzBuzz"; } else if (isFizz && !isBuzz) { yield return "Fizz"; } else if (!isFizz && isBuzz) { yield return "Buzz"; } else { yield return i.ToString(); } } } こんな感じのメソッドを作ってみたのですが、複数のIEnumerableを並行して進めながら処理するforeachみたいなのってないのでしょうか? 自前でFizzとBuzzを1つずつ進めてるのがいまいちスマートじゃない気がして、複数のIEnumerableを並行して進める手軽な方法ってないでしょうか? foreach (var i, isFizz, isBuzz in Enumerable.Range(1, max), Fizz(), Buzz()) { とかみたいな雰囲気でまとめて書く方法ってないですか?
683 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 21:12:29 ] >>682 ZipWithみたいなのが欲しいということかな? だったら、デフォルトでは存在しない。自作している人ならちらほら居る。
684 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 21:13:24 ] うん? EXEとDBファイルが同じファイルになるのを期待してると思ったんだが。 Accessのイメージって言ってるし。 SQLiteもFirebirdもんなこたないんじゃないの? SQL compact3.5だっておんなじようなもんでそ?
685 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 00:10:49 ] サーセン676です。 684さんのおっしゃる「EXEとDBファイルが同じファイル」を期待してました。 DBもMS謹製しか使えないかと思ってましたが、 他のも結構使えるようなので、改めて調べてみます。
686 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 00:36:50 ] C#プログラムでで正規表現を使っているのですが、 正規表現中にPerlのように ttp://8-p.info/perl-interpolation/ string hoge = "hogehoge"; Regex r = new Regex(@".*hoge"); //hogehogeが展開される のようにして変数を展開することはできるでしょうか?
687 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 00:46:55 ] 普通に ".*" + hoge では駄目な理由は何?
688 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 00:46:56 ] 変数を展開って何?
689 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 00:48:21 ] ああ、そういうことか。 string.Format かなにかで文字列化してから Regex に食わせればOK。 文字列中に ".*$hoge" みたいに変数入れたければ PowerShell 使えばいいと思う。
690 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 01:35:37 ] 685です。ありがとうございます。 変数を展開したい理由は何かと問われれば 変数hogeの文字列も外部の関数から取得してくるからです。
691 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 02:56:21 ] >>685 ?ん? 色々カオスってるぞ。 >>686 のリンクも行けないぞ。
692 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 03:10:51 ] AllowsTransparencyをtrueにするとウインドウフレームが表示できなくなってしまうのですが、 System.Windows.Windowで下のSS最前面のウインドウのようにOpacityを使用するにはどうしたらいいのでしょうか? 最前面のウインドウはSystem.Windows.Formsです。 ttp://www.imgup.org/iup662583.png
693 名前:デフォルトの名無しさん [2008/08/07(木) 10:52:52 ] 質問です。 環境:C#2.0です。 あるファイルパスがあるとして、 同じディレクトリに別のファイルを作りたいとき、 どのようにファイルパスを作ればよいでしょうか。 (パスそのものを作らなくても書き込みできればよいので FileInfoとかでもよいのですが) string path1 = @"C:\xx\yy\aa.txt"; FileInfo file1 = new FileInfo(path1); string path2 = file1.FullName.Replace(file1.Name, "bb.txt"); なんてもの考えましたが完全じゃないですし。 どうやるのが真っ当なやり方でしょうか。 いろいろ調べてみましたがわかりませんでした。 よろしくお願いします。 // javaで言うところの new File(directoryName, filename) なんてのが // あればと思ったんですけど少なくともFileInfoにはなかったので
694 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 10:59:02 ] Path.GetDirectoryNameとかPath.Combineとか
695 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 11:33:51 ] ありがとうございます。調べてみます。
696 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 21:20:06 ] objectを引数に取る関数とかobjectのプロパティとかってクラスライブラリを見ただけじゃ 何をセットすればいいのか分からない場合が多いんですがどうやって調べればいいんでしょうか? ググって事例を探してるんですが、事例が無いと完全にお手上げです。
697 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 21:23:07 ] 千里の道も一歩から始まることを信じよう それ、わんつーわんつー
698 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 21:26:37 ] 確かに.netはobject型を引数に取るとか多いな。JavaでObject型を引数に取るのはあんまり見ないのに。 この辺って何か思想の違いみたいなのがあるん?
699 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 21:32:04 ] >>698 Javaはプリミティブ型がObjectを継承してないからじゃないの
700 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 21:36:16 ] いざとなったらReflectorで中追っかけてみる
701 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 21:37:41 ] >>698 そんなに多いか? 非ジェネリックなコレクション以外あまり思いつかないが…
702 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 21:40:11 ] 非ジェネリックコレクションとIComaprableあたりは当然として、 WriteLineやString.Format系、Thread関係のデリゲート、 EventHandlerのsender、ほかなんだっけ。
703 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 21:43:01 ] ICloneable.Cloneがそう。共変性がないからobjectを返さないわけには行かない。
704 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 21:45:26 ] データソース関係とかobjectに何渡すのかわかりにくくないですか? 標準じゃないけど、nplotってライブラリも何を渡すのか分からなくてちょっと困った。
705 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 21:47:03 ] JavaとC#とでそういう差が出そうなGenerics関連の違いって思い浮かばないけどな。
706 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 21:51:09 ] データバインディングはそうですね。あれはリフレクション使いまくってるから。
707 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 00:15:33 ] C#とCだったらC#のほうが入門には適しているでしょうか?
708 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 00:18:56 ] うん
709 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 00:20:44 ] >>708 ありがとうございます。 それと、勉強するための本を買おうと思っているのですが 有名な物・お勧めの物はあるでしょうか?
710 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 00:56:16 ] >>709 ネットで十分
711 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 00:58:55 ] >>709 マジレスすると ufcpp.net/study/csharp/index.html がおすすめ
712 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 01:02:11 ] >>711 ああ、それは俺もお勧め。
713 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 02:15:19 ] >>711 読ませていただきます。 ちなみにVC#というソフトでみなさんはプログラムを書かれているんですか?
714 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 02:16:28 ] うん
715 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 03:05:21 ] むしろテキストエディタとWindowsSDKでやってる人がいたら尊敬する
716 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 03:14:34 ] 単なるバカだから尊敬できないな
717 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 03:16:32 ] .Netが出始めてたころはそれでやってた人もいたようだがな 無料版のIDEも無かったし
718 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 03:21:40 ] きちんと楽出来る環境が簡単に整えられるのに わざわざ意味が無い苦労をする人がいたらそれは馬鹿だけど そう言う環境が簡単には揃わない時代なら仕方ないじゃない
719 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 09:17:43 ] 今のVC#はテキストエディタとしても異常に快適だからな
720 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 09:56:00 ] プライベートで他のクラスからアクセスする必要のないフィールドって内部クラス化した方が良い? 外部クラス?それとももっとスマートな方法ってある?
721 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 10:06:09 ] >>720 そのままプライベートのフィールドで持ってたらあかんの?
722 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 10:13:20 ] フィールド==インスタンスの話が何故かクラスの話になるから意味が分からなくなる
723 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 10:44:48 ] >>721 それじゃインスタンス1つ分にしかならなくね?
724 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 10:51:40 ] 行数多くなるとVisualStudioのロードが遅くなるから分けようかと思ったんだけど、 実行時に無駄にオーバーヘッド生むよね、本末転倒だったね・・・
725 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 10:59:51 ] partialだかそんなのなかったっけ?
726 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 11:59:03 ] VSに負担掛けるほどたくさんの行にフィールドが宣言されてるの? ロードの時間とか細かいパフォーマンス気にする以前の問題だろそれ さすがに分けるべき
727 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 12:07:16 ] 時代はパーシャル!
728 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 18:59:02 ] トラックで全国回ってた人だねw
729 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 22:45:56 ] >724 JITコンパイラの最適化を少しくらい頼ってみたら? 時々例外が起きたときのスタックトレースが妙に抜けてることがあって インライン展開されてる様子がわかるとちょっと嬉しくなるよ。
730 名前:デフォルトの名無しさん [2008/08/09(土) 18:42:15 ] 簡単なエディタを作っているんですが、 RichTextBoxを使ってて、描画領域を少し右にずらして、その空いた領域に 行番号を描画しています。Graphics.DrawStringです。 当然スクロールされたら行番号を変えなくちゃいけないですが、このとき 再描画する前に前回描画した行番号を消すには、 どんな方法が一番最適なのでしょうか。
731 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 18:56:44 ] 背景色で塗りつぶす
732 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:22:56 ] 趣味でやるぶんにはExpress Editionで十分ですか?
733 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:25:03 ] 趣味の内容によるかな。いわゆるベータ版マニアだとインストールできないアドインが 多いから十分じゃないかもしれない。
734 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:25:51 ] >>732 十分。
735 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:27:40 ] パッケージフェチとしてはやっぱり製品版じゃないと
736 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:32:03 ] ドMな俺はSDKとメモ帳が最高。
737 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:35:41 ] 俺なんか仕事で評価版つかってるから大丈夫
738 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:36:52 ] >>733 何か使えない機能があるということですか >>734 そうですか >>736 頑張ってください
739 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:38:12 ] >>737 不具合はないですか?
740 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 19:40:25 ] silverlight2やSQLServer2008用のアドインはSTD版以上だったかな。
741 名前:デフォルトの名無しさん [2008/08/09(土) 20:43:02 ] TextBox.Text = str; とやっているのですが、strが大きいと処理時間遅くなるものなのですか? str.Lengthが4320162だったのですが、10secくらいかかります。 中身のイメージではポインタのコピーとかではなく、実データを コピーしているから遅いのでしょうか? これを早くする方法はないのでしょうか?
742 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 20:44:08 ] TextBox使うのやめて、オーナードローにする
743 名前:デフォルトの名無しさん [2008/08/09(土) 21:18:00 ] 文字列代入の時だけ別スレッドで動かせばいいんですかね?
744 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 21:22:01 ] コントロールにはそれを所有しているスレッドからしかアクセスできん
745 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 21:26:41 ] >>742 の言ってる事は、 遅いのは文字列のコピーじゃなくて、その文字列の描画に時間が掛かってるんだよ という事
746 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 21:33:15 ] 4320162ってヘタしたらXPのソースコードよりデカい気がするんだけど そんなものTextBoxに表示してどうしろとw ちなみに、RichTextBoxで代替したらあんがいあっさり解決しない?
747 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 21:39:23 ] > XPのソースコードよりデカい またまたご冗談を
748 名前:デフォルトの名無しさん [2008/08/10(日) 00:08:05 ] >746 RichTextBoxだと7秒くらいでTextBoxで17秒くらいかかります。 バイナリをヘキサで表示してるんですが、大きいものだとこの7秒とかの間 かたまってしまって・・・ >745 TextBox.Text = str; の前と後にStopWatchクラスで処理時間を出してるんですが、 この代入には描画処理も含まれているということでしょうか? RichTextBoxはコントロールで表示されているところの描画のみ してくれるわけではないのでしょうか? >744 コントロールに別スレッドからでもアクセスする方法ってありません でしたっけ?Invokeとか? RichTextBoxには表示したいところだけバイナリを情報を代入してけば いいんですかね?スクロールするたびに出したり消したりするとか?
749 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 00:11:16 ] >>748 InvokeはUIスレッドが今やってる仕事を中断させて別の仕事をやらせる関数。 そんなでかいデータ扱うなら横着しないでユーザコントロール書けばいいだろ。
750 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 00:47:50 ] >>749 しつこいね君も。 簡単に言うけどかなり面倒だしそれなりに難しいと思うよ。 表示することだけ考えてない?
751 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 00:56:37 ] >>750 それならもう勝手にしろよw ヘキサエディタでできあいのコモンコントロール使ってるのあったら教えてね
752 名前:デフォルトの名無しさん [2008/08/10(日) 01:03:48 ] すいません横着させてくださいっす。新しくユーザーコントロールはきついっす。 RichTextBoxがそういう仕様ならやはりちょびちょび表示ですかねぇ。。。