1 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 10:15:52 ] (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。 前スレ C#, C♯, C#相談室 Part51 pc12.2ch.net/test/read.cgi/tech/1233757615/ Visual C# 2008 Express Edition 日本語版 www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ その他テンプレ>>2-5 くらい
2 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 10:16:30 ] 関連スレ ふらっとC#,C♯,C#(初心者用) Part39 pc12.2ch.net/test/read.cgi/tech/1237051173/ Visual Studio 2008 Part 15 pc12.2ch.net/test/read.cgi/tech/1233853864/ WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3 pc12.2ch.net/test/read.cgi/tech/1231506876/ 【VB.NET】LINQ友の会【C#, C♯, C#】 pc12.2ch.net/test/read.cgi/tech/1202568694/ C#,C#の宿題片付けます。 pc12.2ch.net/test/read.cgi/tech/1197620454/
3 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 10:16:47 ] 参考リンク MSDNライブラリ msdn.microsoft.com/ja-jp/library/ @IT Insider.NET www.atmarkit.co.jp/fdotnet/ Insider.NET 会議室 ディレクトリ www.atmarkit.co.jp/fdotnet/index/bbs/ MSDN フォーラム forums.microsoft.com/MSDN-JA/default.aspx?SiteID=7 pinvoke.net: the interop wiki! pinvoke.net/ 宇宙仮面の C# プログラミング / C# Programming ukamen.hp.infoseek.co.jp/ WisdomSoft C#入門 wisdom.sakura.ne.jp/programming/cs/ WisdomSoft Microsoft .NET入門 wisdom.sakura.ne.jp/system/msnet/ どっとねっとふぁん dotnetfan.org/ 緑のバイク 初めてのC# 〜 覚え書き 〜 homepage3.nifty.com/midori_no_bike/CS/ どぼん!の .NET Tips dobon.net/vb/dotnet/
4 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 10:17:03 ] 質問する前に"必ず"WikiやFAQ集を参照し、同じような質問がないか確認してください。 初歩的な質問はPC初心者板で・・・ pc11.2ch.net/pcqa/ 参考リンク(よく出てくる情報リンク) Windows Vista Wiki windowsvista.ms/index.php Windows VistaFAQ vistafaq.stdo.net/index.html インストールから設定・活用まで〜 すべてが分かるWindows Vista大百科 journal.mycom.co.jp/special/2007/windowsvista/menu.html
5 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 13:37:14 ] 1おつ
6 名前:デフォルトの名無しさん [2009/04/01(水) 14:12:43 ] 乙です。 C#3.0対応のデザインパターンの解説書かサイトで、 日本語で書かれているのってないですかね? 英語なら、オライリーからC#3.0のデザインパターン本が出てたのですが。
7 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 14:23:36 ] >>1 乙
8 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 19:29:46 ] 誘導くらいしろよはげ 死ぬの?
9 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 19:32:36 ] >8 ひどいフシアナ
10 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 20:02:02 ] TreeView で現在選択されているのが、最下段ノードであるかどうかを取得するには どういう方法が一番よいでしょう?
11 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 20:22:02 ] GetNodeCount
12 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 00:28:39 ] >>8 こいつはろくなコード書けないんだろうな
13 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 01:33:13 ] ID出ない板で荒らし、かっこいいです
14 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 07:42:58 ] >>635 英語ドキュメントを読むコツは、最初は辞書を引かない事 高卒レベルの英語で、おおまかな部分は読める 一度通して読んだあと、大体ネックになる重要単語が見えてくるはずだから、 その時辞書を引いて調べればいい 英語が苦手っていう奴は英語をすべて日本語に訳してから理解しようとしている 英語は英語として理解するのが簡単
15 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 09:07:42 ] >>11 どもでした!
16 名前:デフォルトの名無しさん [2009/04/02(木) 15:37:51 ] ★「完全無所属」実は「自民支部長」…千葉知事当選の森田氏 tsushima.2ch.net/test/read.cgi/newsplus/1238600250/ ・千葉県知事選で100万票余を獲得して初当選した元衆院議員の森田健作氏(59)が、 現在も東京都の自民党支部長を務めていたことがわかった。 森田氏は、政党と距離を置く「完全無所属」をアピールして無党派層の支持を集めており、 一夜明けた30日の記者会見で「近く支部を解散したい」との考えを明らかにした。 森田氏が支部長を務めるのは、自民党東京都衆議院選挙区第2支部(東京都中央区)。 森田氏が参院議員だった1995年1月に設立された。衆院議員に転じた森田氏が2003年 10月に辞めた後も、支部は存続している。 収支報告書によると、支部長の登録は本名の「鈴木栄治」。04〜07年には計1億6185万円の 企業・団体献金を受け、同時期に計1億5030万円を、同支部と同じ事務所で、森田氏が代表を 務める資金管理団体「森田健作政経懇話会」に寄付していた。 使途については、「知事選には使っていない。知事選に無所属での出馬を決意する前に、 自民党候補の応援などのために使った」と釈明した。 www.yomiuri.co.jp/politics/news/20090330-OYT1T00515.htm
17 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 16:30:20 ] >>16 朝日新聞の中の人ですか、携帯からご苦労様です。早くアク禁解除されるといいですね。
18 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 02:38:58 ] k個あってn角形の3次元配列を作成していまして 現在ファイルから配列に格納するところで躓いています。 図形1=X1,Y1,X2,Y2,X3,Y3,X4,Y4,X5,Y5..................... 図形2=..... これを[図形][座標点][X,Y]という形に格納する形式です List_POS[0][1][0]で例外が出てしまいます どうしたらいいのでしょうか? ジャグ配列なら実現できたのですがListにしてワーカースレッドから動的に追加もしたいので int a=0,b=0,c=0; int line_count = arrText.Count; public List<int[]>[] List_POS = new List<int[]>[line_count];//第一要素を可変長にしたい for (int i = 0; i < List_POS.Length; i++) List_POS[i] = new List<int[]>(new int[][] { new int[2] }); foreach (string sOutput in arrText){// 一行ずつ読み込んで,各行をsplitメソッドで分ける string temp = (string)arrText[a]; // string型にキャスト string[] temp2 = temp.Split(',');// splitメソッドで文字列アレイにして数える int col_count = temp2.Length; // 列数を数えているだけ string[] temp_line = sOutput.Split(','); for(int i=0;i<temp_line.Length;i++){ for(int k=0;k<2;k++){ i = i + k; List_POS[a][b][c]=Convert.ToInt32(temp_line[i]); c++; } c = 0; b++; } b = 0; a++; }
19 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 02:42:58 ] List<int[][]>にすればいいんじゃない? int[][]をオブジェクトにしてもいいような気もする
20 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 04:40:03 ] >>18 List_POS[0][0] しか作ってないのに、List_POS[0][1] にアクセスしたら 当然例外になるわな > 第一要素を可変長にしたい はずなのに二番目を List にしてるのは何で? (多分、>>19 と同じ) 図形数を可変にするんじゃないの? あと、要素(element)ってコレクションの中身のことだから
21 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 13:49:36 ] いろいろ混乱してとりあえず 整理のためにこんな感じなのかなとコードを書いてみます public List<int[][]> List_POS; int a=0,b=0,c=0; int line_count = arrText.Count; List_POS; = new List<int[][]>(); foreach (string sOutput in arrText){ string temp = (string)arrText[a]; // string型にキャスト string[] temp2 = temp.Split(',');// splitメソッドで文字列アレイにして数える int col_count = temp2.Length; // 列数を数えているだけ List_POS[a] = new List<int[][]>(col_count/2);//XYで2つ使うため一行を2で割る string[] temp_line = sOutput.Split(','); for(int i=0;i<temp_line.Length;i++){ List_POS[a][b]=new List<int[][]>(2); for(int k=0;k<2;k++){ i = i + k; List_POS[a][b][c]=Convert.ToInt32(temp_line[i]); .....
22 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 13:55:45 ] なんつーキモキモ変数名
23 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 18:03:01 ] public List<int[][]> List_POS; List_POS[a] = new List<int[][]>(col_count/2); こんなんコンパイル通らないでしょ List_POSに入るのがList<int[][]> List_POS[a]に入るのはint[][] List_POS[a][b]に入るのはint[]だよ
24 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 18:21:31 ] 0xEDB88320 ^ 0 の演算結果が 0xEDB88320 となるのはなぜ? VB.NETだと1になるんだけど
25 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 18:32:47 ] なぜも何も普通だろ。 VBのほうが謎だ。
26 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 18:38:14 ] >>24-25 VBの^は冪乗、C#の^はビット毎の排他的論理和。
27 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 19:02:40 ] >>26 そうでしたか、ありがとう。
28 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 00:15:19 ] >>23 なるほど rcm.List_POS.Add(new int[col_count / 2][]); rcm.List_POS[a][b]=new int[2]; こういう風に修正したら通りました 二行目もできるかどうか試してみます。
29 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 09:56:34 ] >>28 あんたさ、もっと読みやすさを心がけてかいてよ せっかくオブジェクト指向言語使ってんだからさ このプログラムを保守するはめになったやつのことも考えようぜ
30 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 10:35:07 ] 3次元配列ってところがダメだよな。 図形クラス作るのが普通じゃね?
31 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 11:36:19 ] コードの読み易い、読み難いってのは オブジェクト指向関係ないと思うよ OO厨なら仕方ないが
32 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 13:10:16 ] 同意
33 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 13:19:04 ] なんで関係ないのかと オブジェクト指向のパッケージ化だけ考えても データと振る舞いを結び付け、可読性を向上してるだろ 納得できる理由を書いてみろ
34 名前:デフォルトの名無しさん [2009/04/05(日) 13:26:25 ] ・継承によるコードの隠蔽,初期化の順番の制約がわけわからんになりやすい ・再利用を謳っているために,同じ"ような"コードがあるか探さないといけない. それを怠ると車輪の再発明の連続 ・目的のために様々な手段が用意されすぎている ・>>33 みたいな奴がOOPLすごいよ!クラスで設計図が継承で再利用!しかも大規模開発に剥いているよ! って幻想を吹き込んでくる
35 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 13:28:03 ] >>33 OOはパラダイムなので「可読性の向上」まではどう考えても含んでいない なのに>>33 が可読性の向上とか言い出している辺りが幻想,ね
36 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 13:45:57 ] OO=可読性の向上ではないが、>>21 のコードが見難く、保守のし難いコードであるのは事実。
37 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 16:55:47 ] 複数台マシンがあって、使用メモリが少ない方で処理を行うようにしたいのですが、 他のマシンの利用可能メモリなどを取得したいのですが、 どのようにしてとればいいのか、教えてくだされ(;´д⊂) Processなら、 Process.GetProcessesとかでとれるんですが。。。
38 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 17:02:07 ] >>37 なんかずいぶん無茶なこと言ってるぞ。 アプリケーションが自前でロードバランスするのか。 もちろん実験ならいいんだけど、背景は何?
39 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 17:11:08 ] >>37 何がやりたいのかさっぱりわからんけど 各々のマシンで動かすアプリがそれぞれのメモリ残量を返すようにすればいいんじゃねーの?
40 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 17:18:47 ] まずはOOじゃなくて構造化プログラミングをば
41 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:09:50 ] その前に2chを卒業
42 名前:37 mailto:sage [2009/04/05(日) 18:13:52 ] >>38 ,39 ええっと、説明不足でした^^; 分散処理をしたくて、 本マシンから、重い処理だけを社内LANネットワークにつながった他のマシンで処理させる感じです。 で、その他のマシンっていうのが複数台あり、パフォーマンスに余裕があるものを選択するというものでした。 LANにつながった他のマシンの現在のメモリ使用量などを調べる方法があったら欲しいとおもったのです。 さすがにむりなのかな?^^;
43 名前:デフォルトの名無しさん [2009/04/05(日) 18:15:35 ] >40 構造化で思い出したんです。↓ plaza.rakuten.co.jp/u008expert/ そう言えば二次元のGenericリストとか、 var gl0 = new List<List<int>>(); その他、色々と複雑なデータ構造を簡単に作れます。↓ var gl1 = new List<Dictionary<string,int>>(); var gl2 = new Dictionary<string, List<string>>(); var gl3 = new SortedDictionary<string, SortedDictionary<string, List<int>>>(); なんで本とかで、あまり紹介されないのでしょうかねぇ。 (・・? メモリを無茶苦茶食うとか… スピードがえらく遅いとか… C#を使う人はLispのような入れ子構造が嫌いとかぁ?^m^ 何がネックになっているのでしょうか ご存知の方は教えて下さい。m(__)m
44 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:18:37 ] 宣伝乙
45 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:22:07 ] 誰でも知ってるから。
46 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 19:33:31 ] そんな取り回しの悪い複雑なものを作って喜んでるのは初心者くらいなもの 誇らしげに言うようなことじゃない
47 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 19:36:35 ] これはどう見ても釣り ttp://plaza.rakuten.co.jp/u008expert/ こいつに悪意をもつものの仕業に違いない
48 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 19:54:37 ] 何処に書けばいいのか分からんかったんだけど、 DirectoryEntry使ってiPlanetのディレクトリ更新しようとしていて ユーザーとかのプロパティを見る参照は上手くいくんだが プロパティ変更してCommitChanges呼ぶとエラーになる。 ADだと上手くいくんだけど、iPlanetが特殊なんかな。それとも DirectoryEntryがPureなLDAP話さないでAD固有な話し方してるからかな。
49 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 20:11:48 ] >>43 当たり前のことすぎて触れることじゃない。
50 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 20:13:09 ] >>42 #1 > LANにつながった他のマシンの現在のメモリ使用量などを調べる方法 #2 WANにつながった他のマシンの現在のメモリ使用量などを調べる方法 #3 近所につながった他のマシンの現在のメモリ使用量などを調べる方法 そんな複雑なケースに対応するようにAPIが提供されているわけではありません というわけで,マシンの現在のメモリ使用量(?????どんなの想像してる?シングルプロセス,シングルコアなマシンでの使用量?)を取得する のと,TCP/IPかなんか使って通信するものを組み合わせればいいんでねーの?
51 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 20:13:55 ] Dictionary<string,int>をラップして分かりやすいクラスにして さらにList<MyClass>にした方がいいことが多いから List<Dictionary<string,int>>は使われない
52 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 20:14:17 ] >>43 むしろ"abc"[0]とか,トリッキーなコードになってしまうような気がする
53 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 20:33:08 ] >>50 各PCでそういうサービスを立ち上げておけばOKだね
54 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 20:55:29 ] というわけでWMIでリモートのPC参照すれば可能かも d.hatena.ne.jp/seki-moto/20081014/wmi2
55 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 08:03:03 ] C#の本の質問もここでいいのかな? ある程度C#についてオブジェクト指向とか綺麗なコードの書き方含めて載ってる本ないですか? 独習C#か、プログラミングC#がそれっぽい雰囲気出てたんだけど……。 洋書でも可です。
56 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 08:33:42 ] >>55 アマゾンカテゴリランキングの1〜100位探してみろよ
57 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 09:18:36 ] 身も蓋もないなw まああっちはレビューも書いてあるしなあ。
58 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 09:56:42 ] >>56-57 サンクス。 C#クイックブックもよさげかな……。 今度本屋で見て見よう。
59 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 10:05:29 ] レビューはあんまあてにならないだろw
60 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 10:36:11 ] ここでの評価もあてにならんからどっこいどっこいだ うまく本の当り掴めるようになりたいもんだ・・・技術書安くないもんなあ
61 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 10:37:29 ] 図書館おいしいです
62 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 12:17:17 ] 洋書でいいなら、googleやSafariで立ち読みすればいい。
63 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 12:36:24 ] もちろん、座って読んでもOKだ
64 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 14:34:28 ] だがうんこ座りはご遠慮いただきたく。
65 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 15:26:55 ] 例えばLabelを継承した独自のカスタムコントロールで 継承元のTextAlignとかを使う側に見せないようにするとかは簡単に出来ますか? Internalとかで上書きしてやればできそうだけど、なんかスマートでない気がするし・・・ 継承という以上仕方がないとは思っていますが
66 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 15:38:44 ] なんで機能を継承してるのに隠蔽する必要があるの? っていう話に落ち着くぜ
67 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 16:08:04 ] そういう場合って継承するんじゃなくインスタンスをプライベートに持って アクセサを作るのが普通なんじゃない? #言語仕様とは別のデザパタのdelegationって奴になるのか? 継承してるのに使えないとかはOOの性質上無理だと思うけど。
68 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 16:11:45 ] >>66 >>67 ですよね 今作られている既存のカスタムコントロールがそう作られていて大きく変えないようにするにはどうかなと考えていたんですが・・ おとなしく新しく作り直してそっちに変更するように要望をかけるとします。
69 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 17:12:19 ] TextAlignは見えるけど,機能上使えない,っていう特殊化ならアリ
70 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 17:34:53 ] 継承はis aの関係が基本で、決してカスタマイズ/再利用じゃないからね。 継承元で出来る事が継承先で出来なくなるのは有り得ない。
71 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 17:35:33 ] 既存のコントロールを内包してるけど、 別物として扱いたいってことか。 セットされた値を何かしらの方法で計算して表示するコントロールでほとんどラベルなんだけど、 表示されてるテキストは直接書き換えはさせたくないみたいな。
72 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 17:39:20 ] ググったら似たような質問あったよ 件名:[C#]コントロールのプロパティ固定(継承) www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=42032&forum=7 セッターを空のメソッドでオーバーライドして殺してるみたい。 質問の内容自体に対する評価はここと似たようなもんだな。
73 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 17:43:11 ] youtubeとかニコニコの動画のダウンロードってどうやるの?
74 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 17:54:04 ] 一度言ってみたかった・・・ 「ググれカス」
75 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 18:16:56 ] >>55 洋書でいいなら、中国語でいい本がある
76 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 18:18:01 ] グぐってきました・・・で、動画のurlの特定ってどうやるんですか?
77 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 18:23:40 ] >>76 。 。 。 。 。 。 ゚ 。 。゚。゜。 ゚。 。 / // / / ( Д ) Д)Д))
78 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 18:29:53 ] C#に特定した話じゃないなあそれ
79 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 18:35:29 ] ・・・もういいです・・・使えない人たちですね
80 名前:73 mailto:sage [2009/04/06(月) 18:39:47 ] >79 これ誰だよw C#じゃないみたいなんで、他所のスレ探します
81 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 18:43:39 ] 取り敢えず公式見てこいよ。 「正当な」方法でどうやって情報取得するかきっちり書いてあるんだから。
82 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 18:44:58 ] 公式はどこにあるのですか? 教えて下さい
83 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 18:48:53 ] そりゃニコニコやyoutubeのトップから辿れよ
84 名前:73 mailto:sage [2009/04/06(月) 18:53:18 ] >>81 ありがとう調べてみます >>82 だから誰だよww
85 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 18:58:28 ] >>75 中国無理っす
86 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 19:00:20 ] >>80 ,84 いい加減にしてください・・・誰なんですか・・・
87 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 19:07:16 ] これが無職いたのよいところ
88 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 19:16:56 ] ここまで全部俺の(ry
89 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 19:22:05 ] もう私のために争うのはやめて!
90 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 19:29:15 ] WebBrowser Controlでの質問です ttp://domworld.cool.ne.jp/mst/index.cgi?mode=mstinit ↑のページを完全に読み込みたいんですが、javascript?のところで途中で止まってしまいます MessageBox.Show( webBrowser.Document.GetElementsByTagName( "html" )[0].OuterHtml ); でHTMLを表示してもソースと違っていてどうにもなりません 対処法があれば教えてください あとソースとwebBrowserのhtmlが違う理由をわかる方いたら併せてお願いします
91 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 20:07:24 ] 違っていてってどう違ってるのかぐらい教えてくれよ。 User-Agentあたり見て出力内容わけてたりしてな。
92 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 20:13:43 ] >>90 ううむ。折れんところで試してみたが、一応完全に?読めたけど。
93 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 20:15:57 ] >>90 > ソースとwebBrowserのhtmlが違う理由 ブラウザがパースしたDOMをテキスト表現にしているからだとおも
94 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 20:54:33 ] >>91-93 さん レスありがとうございます WebBrowser.Document.All.GetElementsByName("id")[0].SetAttribute( "Value", "name" ); のように入力してログインまで持って行きたいんですが >>92 正確ではありませんでした すみません DOM解析済みのHTMLでFrameを取りに行ってるみたいなんで無理みたいですorz WebBrowserコントロールからフレームを利用したのページのHTMLソース取得方法 ttp://social.msdn.microsoft.com/Forums/ja-JP/vsgeneralja/thread/41e23caf-05d6-4dff-b5a1-9b1ecb12b4ed/
95 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 22:15:40 ] >>94 がんばればできる。
96 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 14:17:00 ] 現在大体100μs単位で動くタイマーを作成しているのですが、別スレッドからControl.BeginInvokeでコントロールを 操作する際に、そこでApplication.DoEvensを実行すると、コントロールが壊れる?みたいなのですが、なぜでしょうか? 具体的にいうと、別スレッドでビジーループを回して待機していたタイマーからイベントが飛び、Control.BeginInvokeで メインスレッドにて登録されたデリゲートを実行するようになっており、デリゲート内にApplication.DoEventsがあると、 別ウインドウで操作していたHScrollBarが壊れ、Dock.FillしていたはずのコントロールがHScrollBar部分をドラッグ することによりリサイズできてしまう、という具合です。 サンプルプロジェクト: ttp://www1.axfc.net/uploader/He/so/214358 pass: invoke サンプルプロジェクトのProcessingWindowのStartボタンをクリックした後、ControlWindowのスクロールバー右を 連打するとスクロールバーが壊れます。 一応メインスレッド上でタイマーのビジーループを回すか、Application.DoEventsを取り除くことにより回避できますが、 前者だと何もしてなくてもCPUを食ってしまうし、後者だと重い処理を行っているときにUIの更新ができなくなってしまう のでできれば別スレッドからBeginInvokeしたときにApplication.DoEventsを実行したいのですが…
97 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 16:04:51 ] とりあえず俺の環境では起きないんだが
98 名前:96 mailto:sage [2009/04/08(水) 17:32:32 ] >>97 こちらでは、スクロールバーの右の矢印部分を連打(結構なスピードで)すると簡単に発生するのですが… スクロールバーの描画が破綻した後、右矢印部分になぜか点々(サイズ変更可能なウインドウに表示されてたり するアレ)が表示されます。 こうなると、スクロールバーは完全に機能しなくなり、スクロールバーのあった部分は再描画が無効になります。
99 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 18:07:52 ] >>98 俺も結構な速度でやってみたんだけどな それこそクリックしたら画面の女の子脱ぎますよと言われたくらいの速度でw ほぼ同じ環境の後輩に同じことやらしてみたけど症状が出てない 一応環境 VISTA BUSINESS SP1(エアロ有効) VS2008 Professional上でデバッグ実行
100 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 18:23:43 ] >>97 のPCで問題を再現するには超人的なスピードでの連打が必要なんだよ、きっと。 >>98 こういうケースでは、スリープを追加するなどして "連打" ではなく、一回のクリックで問題を再現させることを目指すと、原因がわかったりするよ。 例えば、DoEvents()の後にThread.Sleep(100);と書き、スクロールバーを右クリックしてみるといい。 運良くこっちと似た環境ならば、100%の確率でスタックオーバーフローするので スタックトレースを見れば原因がわかるはず。
101 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2009/04/08(水) 18:25:08 ] >>98 ディスプレイドライバのせいだったりして ハードウェアアクセラレータ無効にすると治るとかない?