- 1 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 03:17:20 ]
- (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
前スレ C#, C♯, C#相談室 Part59 pc12.2ch.net/test/read.cgi/tech/1274019232/ Visual C# 2010 Express Edition 日本語版 www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ その他テンプレ>>1-5くらい
- 520 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 15:20:06 ]
- ControlクラスのDoubleBufferedをtrueにし、
Paintイベントで同じ範囲をFillRect(赤)→FillRect(白)とした場合、一瞬赤色が見えるのは何故なのでしょうか。 Paintイベントで引数に渡ってくるGraphicsオブジェクトは2次バッファの物では無いの?
- 521 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:30:51 ]
- >>518
そして中途半端に守ってるのと守ってないのがでてくるせいで StrHogehoge と Hogehoge と HogehogeString が混在する現場になるんだよな。
- 522 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 17:49:14 ]
- Dictionary<,>.GetValueOrDefaultがほしい
TryGetValueはなんか思考を中断される
- 523 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 18:00:18 ]
- >>522
拡張メソッドで作れないか?
- 524 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 18:44:13 ]
- >>522
レベルの低い質問者は初心者スレに行け! マジウザイ
- 525 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 18:52:44 ]
- >>522
非ジェネリックのIDictionaryだとインデクサが例外投げずにnull返すけど、 それもなんだかなぁって感じだしな >>523 その程度の汎用的でメジャーな機能くらいフレームワークで用意しろってことじゃないのか 似たようなものだと、ParseOrDefaultとかも用意して欲しいかな
- 526 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 19:20:28 ]
- ParseOrDefaultなんかいらないよ
- 527 名前:名無しさん@そうだ選挙に行こう [2010/07/11(日) 20:17:14 ]
- 自分で拡張メソッド書けば。標準では不要。
- 528 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 20:28:49 ]
- TryParse はいちいち out 用の変数用意しなきゃいけないのがめんどくせえ
- 529 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 20:35:11 ]
- Parseで例外が投げられるよりましだろ
- 530 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 20:38:53 ]
- 確実に例外が投げられないことがわかっているならParse使えばいいよ
- 531 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 20:41:46 ]
- support.microsoft.com/kb/957851/ja
こんな話もあるけどな。
- 532 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:26:24 ]
- >>520
フォームの DoubleBuffered を true にして、 Paintイベントに以下を書いたら赤は見えなかったよ private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; g.FillRectangle(Brushes.Red, e.ClipRectangle); g.FillRectangle(Brushes.White, e.ClipRectangle); }
- 533 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:35:43 ]
- 引数にIDictionary渡す時は何が適切なの?
IList系だとparams 配列 みたいなのが定番だけどIDictionaryはそのまま参照型のまま渡すの?
- 534 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:38:44 ]
- 普通IListはIListのまま渡す
IListとparamsがどう関係あるのか知らないけどparams引数はかなりレア IDictionaryはあまり使わない
- 535 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:49:14 ]
- >>534
そなの? 前、MSの中の人にきいたらIList系は配列型で渡して、params可能ならつける方がいいと言われたよ。 .Netのクラスライブラリもそのポリシーで設計されてるみたい。 今はその人と連絡とれないからIDictionaryはどうなのかと思ったんだけど…。
- 536 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:50:24 ]
- >>531
日付のカルチャ情報は国が違うだけでなく、日付表示を和暦にしたとかだけで影響を受ける場合があるので常に明示的に指定したほうがいいよ。 数値も小数点がカンマという国が結構あるので気をつけたほうがいいし。
- 537 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:54:05 ]
- んなこたー知ってる。>>531の問題は、そういう話じゃない。
- 538 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:55:26 ]
- class myClass{
int a; public myClass(int num){ a = num; } } class myClass2{ [System.Xml.Serialization.XmlArrayItem(typeof(myClass))] ArrayList array; public myClass2(){ array = new ArrayList(); array.add(new myClass(0)); array.add(new myClass(1)); array.add(new myClass2)); } public void saveXML(){ //XMLファイルに保存する System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeofmyClass2); System.IO.FileStream fs = new System.IO.FileStream(@"c:\abc.xml", System.IO.FileMode.Create); //エラーが発生する serializer.Serialize(fs, this); //閉じる fs.Close(); } } といった感じにプログラムを書いたのですが これを逆シリアル化するさいにクラス内にpublic void loadXML()という関数を作って arrayの中にデータを入れたいのですがどうやってやればいいんでしょうか・・・。 myClass2としてロードすればできるんですがそうするとクラス内に作れないしで・・・。
- 539 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:56:17 ]
- >>534
IList は、メソッドの中で Add とか呼ばれちゃう可能性あるからなぁ。 それを意図しない場合は IEnumerable の方がいいかと。 >>535 今思えば、params は配列型じゃなくて IEnumerable<T> にしてた方がよかったと思うけどね。 まあ、1.0 の頃と今では IEnumerable の地位が大分変ってるんでしょうがないけど。
- 540 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:56:17 ]
- >>535
クラス作成して配列で渡すのが慣わし。 例としてEventArgs等がある。
- 541 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:00:44 ]
- >>539
なるへそ。 オライリーなんかの本だとそうしてるね。 >>540 ふむふむ、イミュータブルなクラスでやり取りする事になるのか。
- 542 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:02:38 ]
- UDPでTCPを模倣してみたがやっぱこういう処理はC#じゃ遅すぎるな
- 543 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:05:37 ]
- ネットワークの処理が遅いとか実装が糞なだけだろ。
- 544 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:06:15 ]
- >>538
staticにする
- 545 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:12:53 ]
- あ、普通にロードしたのをキャストした後にほしい部分だけとりだせばおkでしたね・・・。
- 546 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:14:49 ]
- params付けた方がいいというのは全ての要素をその場で手渡しするような使い方を意図している場合の話だろ。
例えばXElementのコンストラクタはparamだけどそれはコードに階層構造をベタ書きするため。 元からあるリストを渡すためのメソッドならparams付ける意味ないでしょ。
- 547 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:23:00 ]
- だからベタ書き出来るように出来る事ならparamsつけましょって事でしょ。
付けたところで困る事はないしさ。
- 548 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:39:51 ]
- C#が遅すぎるんならSilverlight動画アドインなんて出来るわけないよな。
- 549 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:01:59 ]
- string.Formatで「{0}以上{1}以下」みたいな文字を表示させるときに、
{0}や{1}を表示させない場合は「以上」「以下」も一緒に表示させなくしたい。 色々試してたら↓のコードが上手く行ったんだけど、 この方法ってアリ? たまたま上手く行ってるだけ? public static void Main() { Console.WriteLine(string.Format("{0}{0:以上}{1}{1:以下}", null, null)); Console.WriteLine(string.Format("{0}{0:以上}{1}{1:以下}", 100, null)); Console.WriteLine(string.Format("{0}{0:以上}{1}{1:以下}", 100, 200)); Console.WriteLine(string.Format("{0}{0:以上}{1}{1:以下}", null, 200)); } >100以上 >100以上200以下 >200以下
- 550 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:10:04 ]
- >>548
Silverlightプラグインはほとんどネイティブコードだ .NETをスクリプティングに使ってるだけで下層のメディア処理はネイティブコードに丸投げ >>549 そういう仕様じゃなかったっけ
- 551 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:18:06 ]
- そうなの?マルチプラットフォームって聞いてたから。
- 552 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:21:51 ]
- 移植するときはネイティブコード部分を入れ替えるだけで済むから
その上で動くマネージコードはマルチプラットフォームだよという意味
- 553 名前:デフォルトの名無しさん mailto:sage [2010/07/11(日) 23:40:26 ]
- >>550
ありがとう。見つけられた。 msdn.microsoft.com/ja-jp/library/0c899ak8.aspx >その他 >上記以外のすべての文字 >文字が結果の文字列にそのままコピーされます。 色々鑑みて「 "{0:#,#'以上'}{1:#,#'以下'}" 」でイケそう。ありがとう!
- 554 名前:デフォルトの名無しさん [2010/07/12(月) 00:43:01 ]
- すみません。自分で関数を作りました。もし、戻り値をint型とするとき
成功したら0を返すのか1を返すのかで迷っています。 if文の条件判定でその関数を使う場合1を返したほうがいいですし、 なんかC言語のmain関数なんかは、正常終了の場合、0を返します。 どっちがいいのでしょうか?bool型を使うと簡単なのはわかりますが、int型を戻り値とする場合は どちらのほうが的確でしょうか?
- 555 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 00:49:42 ]
- どっちでもいいよ。
- 556 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 00:50:59 ]
- 初期値に0を持たせるのが普通。
その関数で正常終了と判定した後にどうなるかで変わるんじゃないかな。 知らんけど。
- 557 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 00:52:54 ]
- 成功失敗にint型とか仕事なら首に出来る仕様だな。
- 558 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 00:54:37 ]
- C# なら void にして、失敗なら、例外を投げる。
- 559 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 00:56:42 ]
- 列挙型を返すのは?
- 560 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:02:32 ]
- さあ
- 561 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:06:42 ]
- もう S_OK でいいよ
- 562 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:17:58 ]
- 成功か失敗理由かでいいよ
- 563 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:33:33 ]
- うん
- 564 名前:554 mailto:sage [2010/07/12(月) 01:37:57 ]
- みなさん、どうもありがとうございます。
C言語の文字列操作関係の関数は成功すると0を返すみたいなので、それにならいます(><;) いろいろと私のせいで議論してくれたみたいで、ありがとうございました(><;)
- 565 名前:デフォルトの名無しさん [2010/07/12(月) 01:42:36 ]
- うぜええええ(><;)
- 566 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:50:25 ]
- なんでこんなレベル低いやつがこっちで質問してんだ
- 567 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:51:51 ]
- >>554
C# で書くんなら絶対 bool にしろ。 C 言語とかとの相互運用目的なんだったら、非 0 が true。 main 関数とかの戻り値はあれ、エラーコードなのよ。 HasError == false だから 0。
- 568 名前:554 mailto:sage [2010/07/12(月) 02:10:52 ]
- >>567
そうなんですね。非0がtrueの方がいいんですね。じゃあ、書き直します。 基本はbool でプログラムしてるんですが、ちょっとしゃれでC言語風に書いてみたいなあと思いまして・・ みなさん、スレ汚しすみません。初心者スレで聞けばよかったです。
- 569 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 06:51:13 ]
- >>568
C言語は論理式で非0をtrueと扱う言語だから。 C#とかみたいにboolが用意されてる言語ならboolを使うべき。
- 570 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 07:12:22 ]
- >>565
おはようございます(><;)
- 571 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 07:25:28 ]
- おい馬鹿やめろ
- 572 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 07:28:10 ]
- うわなにをする(><;)
- 573 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 07:33:15 ]
- >if文の条件判定でその関数を使う場合1を返したほうがいいですし、
if(func()) return; /* エラー検出して強制終了とかの場合こうしねえか? */
- 574 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 08:45:46 ]
- フォームアプリケーションで、ボタンを配置して
そこにフォーカスをあてた状態でリターンキーを押すのですが、 ボタンをおせません。マウスでクリックしたときのような アニメーションも発生しません。 ボタンを押せるようにするにはどうすればいいでしょうか?
- 575 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 09:30:34 ]
- そういう風に作ればいい
- 576 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:30:25 ]
- C#2010のコード自動調整(自動でタブを追加したり
switch文を改行したりする機能)って有効にしたまま使ってる?
- 577 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 16:48:58 ]
- オートフォーマット切るとか考えたこともないわ
コードのフォーマットにこだわって手修正したりする奴は迷惑なだけ
- 578 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 18:38:16 ]
- デフォの括弧の位置だけは気に入らないけど。。。デフォのままで使ってる。
- 579 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 18:48:22 ]
- そういや全てのソースを整形するにはどーすんの?
- 580 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:48:06 ]
- 返り値をboolで返すのも、IsXXXみたいな十分に明示的なネーミングのメソッドの場合は除くとして、
一般にはうんこだとされてる手法だと思うけど.... そんな程度の人が偉そうに命令口調で講釈垂れてるんだから嫌になるな
- 581 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:50:15 ]
- > 一般にはうんこだとされてる手法だと思うけど....
思わない
- 582 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:53:10 ]
- まあ、馬鹿な君ならそうでしょうとも
- 583 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:54:38 ]
- 一般に続く名詞はなんだろうな
- 584 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:56:00 ]
- たとえばTryParseは成功したらTrue、失敗したらFalseだけど
>>580の命名規則にしたがってないからうんこメソッドだな
- 585 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 20:07:19 ]
- Tell, Don't Ask原理主義者か?何事もほどほどに。
- 586 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 21:27:17 ]
- 最近だとHashSet<T>.Addは要素が重複してても例外を投げずにfalseを返す
- 587 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:00:20 ]
- 既にあるVC#プロジェクトでlinq-to-xmlを使いたく、まず最初に
using System.Xml.Linq; と宣言を追加しただけの状態でコンパイルしてみたのですが、 型または名前空間名 'Linq' は名前空間 'System.Xml' に存在しません。アセンブリ参照が不足しています。 というエラーがでるのですが、どうすれば解決できるのですか?
- 588 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:04:43 ]
- System.Linq.Xml.Linq.dllを参照設定に追加する
ターゲットフレームワークは.NET3.5か.NET4に設定する必要がある
- 589 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:07:14 ]
- あきらめろ
- 590 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:13:00 ]
- >>588
ありがとうございます。 対象のフレームワークは、.NerFramework3.5でした。 System.Linq.Xml.Linq.dllの参照設定とはどのようにやるのですか?
- 591 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:15:29 ]
- ねーねー。なんで初心者スレ行かないの?
- 592 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:21:04 ]
- ソリューションエクスプローラで参照設定を右クリックして参照の追加を選ぶ
.NETタブのSystem.Linq.Xml.dllを選んでOK LINQ to XMLってちょっと癖があって結構難しいよ? ちゃんとわかってる人のための便利なオモチャって感じ
- 593 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:33:16 ]
- ちゃんとわかってる人のための便利なオモチャって感じだね
- 594 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:40:03 ]
- >>592
おお!できました! ありがとうございました!
- 595 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:44:49 ]
- >>594
お役に立ててなによりです
- 596 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:51:40 ]
- いえいえどういたしまして
- 597 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:39:00 ]
- File.Replaceってsoruceとdestinationが同じドライブでないとダメなようだけど、
こんな使いにくい制限をわざわざ設けてる理由って何なんだろう。 ファイルを上書き保存する時なんかに、作業ディレクトリに一旦一時ファイルを 作ってから元のファイルを置き換える用途を当然想定してるんだと思ってたが、 こんな制限があったらこういう使い方できないよね。
- 598 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:47:07 ]
- その用途ならMoveでもCopyでもいいだろ
- 599 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:54:39 ]
- 馬鹿っぽい(たぶん「ぽい」ではないんだろうが)物言い....
- 600 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:59:40 ]
- >>597
物理的にファイル動かさなくて済むからでしょ。
- 601 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:05:49 ]
- >>600
それは事実としては正しいけど、 それって>>597みたいな制限を正当化する理由になるかね?
- 602 名前:598 mailto:sage [2010/07/13(火) 21:16:23 ]
- ファイルシステム上のエントリの参照先を変更するだけなんだから
当然ファイルの実体は全部同じボリューム上にある必要があるだろ
- 603 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:18:39 ]
- >>602
言ってる意味分かってる? だから、そういうシステムの都合があるにせよ、 そのシステムの都合をFile.Replaceに「押し付ける」理由をお聞きしてるわけですが。
- 604 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:29:48 ]
- >>603
MSに聞けとしか。 想像だけどアトミックな操作に使ってくれ(そしてそれは物理ボリュームが別だと無理)ってことなんじゃないの? 同じディレクトリ内の作業でバックアップファイル作るために使うとかさ。 それ以外は Move とか Copy とか使えってことなんじゃないのかね。
- 605 名前:598 mailto:sage [2010/07/13(火) 21:31:06 ]
- WIN32のReplaceFileをラップしただけだろっつうか
ファイルシステムに依存した機能だからこそアトミック性が保証できるんだろっつうか 逆にファイルシステムの都合に依らないファイル操作なんてありえんのかって話だが
- 606 名前:デフォルトの名無しさん [2010/07/13(火) 21:35:25 ]
- なぁ、formの無いプログラムってどうやるん?
タスクトレイだけですませたいんだけど。 フォームがないとデザイン画面でnotifyiconとか作れないし。
- 607 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:42:00 ]
- 態度がでかいな
- 608 名前:デフォルトの名無しさん [2010/07/13(火) 21:44:36 ]
- あの、すみません。
Formの無いプログラムっていうのは、どうやってつくればよろしいんでしょうか? タスクトレイだけですまたいんです。 フォームがないとVisualStudioのデザイン画面を使い NotifyIconコントロールなどを貼り付けたりすることができません。 よろしければ、教えてもらいたいのですが。すみません。どうぞ、宜しくお願いします。
- 609 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:48:53 ]
- 改行が多いな
- 610 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:51:48 ]
- あの、すみません。Formの無いプログラムっていうのは、どうやってつくればよろしいんでしょうか?タスクトレイだけですまたいんです。
フォームがないとVisualStudioのデザイン画面を使いNotifyIconコントロールなどを貼り付けたりすることができません。よろしければ、教えてもらいたいのですが。すみません。どうぞ、宜しくお願いします。
- 611 名前:598 mailto:sage [2010/07/13(火) 21:53:03 ]
- ノリがいいな
- 612 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:53:40 ]
- >>604
ただの愚痴だけど、>>597みたいな処理を安全に書くのって意外と手間だからさ。 安全っていうのは、例えば仮に何らかの理由でオリジナルのファイルを 作業ディレクトリに作った一時フォルダで置き換えられないとしても、 最低限オリジナルのファイルが失われないことを保証しようと思うと結構面倒。 こういうのこそライブラリで用意されるべきだと思うんだけどな。
- 613 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:54:42 ]
- すまたin!
- 614 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:57:20 ]
- 今必要だけどないものをウダウダ言ってもムダ
その間にソース書いたほうがよっぽど生産的
- 615 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:59:14 ]
- >>608
notifyIcon.Visible = true; しといて Application.Run(); 呼ぶだけ。 これでメッセージループが動く。 終わるときは、 Application.Exit(); を呼ぶ。
- 616 名前:608 mailto:sage [2010/07/13(火) 22:03:32 ]
- >>615
どうも、ありがとうございます。それだけでできるんですか? とても助かりました。今からやってみます! 他の人もどうもありがとうございました!
- 617 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 22:29:35 ]
- C#の初心者向けで良い本何かありますか?
あと、C#のソースをJAVAに移植するとしたら、どんな事に気をつければよいですか?
- 618 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 22:35:52 ]
- @ITで十分
本なんていらん どうしてもというなら@ITの本があるからそれ買え
- 619 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 22:42:28 ]
- >>616
最小構成サンプル using System; using System.Windows.Forms; namespace nicon { public class nicon { System.Windows.Forms.NotifyIcon icon = new System.Windows.Forms.NotifyIcon(); System.ComponentModel.ComponentResourceManager res = new System.ComponentModel.ComponentResourceManager(typeof(nicon)); nicon() { icon.Icon = (System.Drawing.Icon)res.GetObject("nicon"); icon.ContextMenu = new ContextMenu( new MenuItem[] { new MenuItem("Exit", delegate { Application.Exit(); } ) }); } [STAThread] public static void Main(string[] args) { nicon inst = new nicon(); inst.icon.Visible = true; Application.Run(); inst.icon.Dispose(); } } }
- 620 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:42:52 ]
- StreamReaderってファイルが無かったりアクセス権がなかったりしたら
例外をスローもせずに完全に固まらないか?
|

|