- 1 名前:デフォルトの名無しさん [2010/05/16(日) 23:13:52 ]
- (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
前スレ C#, C♯, C#相談室 Part58 pc12.2ch.net/test/read.cgi/tech/1269261310/ Visual C# 2008 Express Edition 日本語版 www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ その他テンプレ>>1-5くらい
- 720 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 03:02:30 ]
- 簡単さが違うって話。
- 721 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 05:35:33 ]
- 確かにDllMain的なのは欲しいよな。
- 722 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 11:42:56 ]
- static イニシャライザでチェックしちゃいかんの?
- 723 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 11:47:55 ]
- staticコンストラクタはいつ呼ばれるかわからない
- 724 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 12:00:08 ]
- アセンブリに属性をつけておいて
その属性にstaticコンストラクタを仕込んでおけば dllを読みこんだタイミングで実行されたりしないかなあ
- 725 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 12:00:32 ]
- ふーん
- 726 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 12:08:28 ]
- >>724
されない カスタム属性っていうのはあくまでメターデータのラッパークラスなので インスタンスが作られるのはその属性を参照しようとしたとき
- 727 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 12:26:53 ]
- お前ら釣り耐性低すぎだろ
- 728 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 12:32:24 ]
- >>726
(゚∀゚)
- 729 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 18:55:14 ]
- >>700みて何じゃこりゃとおもったけど>>714見たら恐ろしく単純w
- 730 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 19:30:28 ]
- 何十個もクラスをライセンス管理しないなら >>714 で充分だね。
- 731 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 19:53:32 ]
- >>729
遅い
- 732 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 21:27:20 ]
- >>700でも充分簡単じゃねぇか。
あんなのすら分からなかったらそもそもコードかけねぇだろ。
- 733 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 21:46:45 ]
- >>732
インデントの差だろ
- 734 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 22:42:20 ]
- まあ確実に言えることは、>>700 程度のコードが複雑に見えるんじゃライセンス保護
なんて当分は無縁だということ。
- 735 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 22:50:21 ]
- >>733
専ブラで>>700をポップアップさせて見ればいい
- 736 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 00:53:37 ]
- うほ
- 737 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 10:19:51 ]
- 先生!
thread.spinwaitとthread.sleepってどう違うんですかっ? MSDN読んでも引数の違いぐらいしかわからないです! 高度な技術を持ってる人、おすえて!
- 738 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 10:31:49 ]
- 解説読めよ。
- 739 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 11:41:25 ]
- >>738
わかりません!
- 740 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 18:04:49 ]
- Windowsフォームアプリを作るとメインウィンドウのクラスがめっちゃ大きくなっちゃうんですが、仕方ないんでしょうか?
それともpartialで分割するべきですか?(あまり意味ないと思いますが)
- 741 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 18:11:42 ]
- partialの分割は意味ない。
ユーザーコントロールにするとか、ビジネスロジックを別クラスにするとか、 そんな感じ。
- 742 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 18:49:35 ]
- ApplicationContext使って、MainFormにはインタフェースレベルのプログラムしか書かないとかかな。
- 743 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 20:37:11 ]
- それでもコントロールの量が多いとイベントメソッドだけでもめっちゃ多くなっちゃうんですよね。
そこそこ普通のフリーツールくらいの規模でもメインウィンドウのクラスだけで何千行にもなっちゃう。
- 744 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 20:40:43 ]
- だから、そーゆーのはユーザーコントロールにまとめるんだってば。
- 745 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 20:43:21 ]
- で、デザイナがバグって正常に表示されない、とw
あれたぶん2010でも放置なんだろうな
- 746 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 21:11:27 ]
- >>743 >>745
へったくそだなぁ
- 747 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 21:12:31 ]
- ユーザーコントロールが正常に動かないのは作り方が悪い
- 748 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 21:29:20 ]
- >>746
具体的に教えてよ
- 749 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 22:12:54 ]
- なんでそんなでかくなるんだろ。
イベントが盛りだくさんなの?
- 750 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 22:17:36 ]
- ボタンが百個あるので、イベントハンドラが百個なんでしょ。
- 751 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 22:28:16 ]
- ボタン1個にいくつのイベントがあると思ってんだ
- 752 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 23:05:11 ]
- はなし が かみあって ない
- 753 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 23:35:24 ]
- やっぱへったくそだな
- 754 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 23:50:20 ]
- >>746-747
素人臭い意見だな。 そんなわけないでしょw 実際ある程度やってみれば俺の言ってる意味がわかるよ。
- 755 名前:デフォルトの名無しさん mailto:sage [2010/06/21(月) 23:54:22 ]
- 自称玄人△
- 756 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 00:07:04 ]
- >>754
ユーザーコントロール使ったこともない自称玄人乙
- 757 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 00:12:58 ]
- IDEに表示されないという理由だけでユーザコントロールを避けるってどうなの?
#define BEGIN { と同じくらいひどいと思うんだけど、素人だからですかね
- 758 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 00:15:09 ]
- それは言いすぎ。
IDEのコード生成は信用できないので禁止、くらいだろ。
- 759 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 00:24:31 ]
- ・・・IDEに出ない?ツールボックスに出てきているコレはなんだろう?
- 760 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 00:29:02 ]
- >>757
「だから」避けろとか使うべきでない、などとは一言も言ってない。
- 761 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 00:31:03 ]
- 揚げ足取り玄人ですね。かっこいいです!
- 762 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 00:34:15 ]
- >>760
デザイナがバグって正常に表示されないというのは素人がよくハマる部分だから 気をつけろって言う意味?
- 763 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 00:36:18 ]
- ガキ臭い揚げ足取りしてるのはどっちだよ。
ネトウヨみたいなよくわからん被害妄想だなおい。 こっちは単にVSのデザイナはユーザーコントロールを使うとバグって 正常に表示されなくなる場合がある、という事実を言ってるだけ。 っていうか、この程度の経験もない奴が偉そうに「ユーザーコントロール使え」 とか人に講釈垂れてるっていい根性してるよな。
- 764 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 00:40:46 ]
- >>762
VS自体のバグだから使う側が玄人か素人か関係ないし、 気をつけようもないんだけどさだから。
- 765 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 01:53:37 ]
- 該当バグのURL晒したらすぐ済むことなのに
- 766 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 02:11:16 ]
- VS2008でデザイナがしょっちゅう腐ることがあるやつを
VS2010に持ってきたが、いまのとこ一度も腐ってない
- 767 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 02:36:55 ]
- 2002や2003に比べたら2008の安定ぷりったらないんだけど、2010はさらに調子良いのか
これは楽しみ
- 768 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 03:24:29 ]
- コントロール多くてもほとんどユーザーコントロールだから、フォーム側に実装する事ほとんど無いなぁ。
そんなにフォーム固有の処理って多いもん?
- 769 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 03:50:48 ]
- >>768
ユーザコントロール作ったらバグるって言われるよ
- 770 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 04:23:34 ]
- ボタンにクリックイベント一個付けるだけでもわざわざ一個のユーザーコントロール作るの?
- 771 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 04:25:56 ]
- そうすべきだと思ったらそうするな
- 772 名前:デフォルトの名無しさん [2010/06/22(火) 04:29:59 ]
- >>770
ボタンコントロールにだけ関連する処理ならユーザーコントロールか 継承したクラス作ってそこへ入れてしまえばいいんじゃね? Formにだらだら書くよりすっきりするよ
- 773 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 04:35:29 ]
- 継承したらそりゃコードは分割出来るけど
デザイナの意味を成さなくなってくるな
- 774 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 04:40:23 ]
- Visual Studioの登場で、内部はどんどん複雑に、表面は簡単になったおかげで
基本や構造を理解せずに何となくソフトを作るプログラマーが増えた マシンパワーが有り余ってるから、いいかげんな作りのソフトでもそれなりに動いてしまうのも善し悪し
- 775 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 05:00:27 ]
- >>773
もう少し詳しく。 適当に予想してレスすると怒られる流れっぽいので。
- 776 名前:デフォルトの名無しさん [2010/06/22(火) 05:11:51 ]
- >>773
成すよ まあこのあたりみてくれ cs2ch.blog123.fc2.com/blog-entry-8.html
- 777 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 05:33:54 ]
- >>775
イベント追加する時に+=を書かなくちゃいけなくなるとか
- 778 名前:デフォルトの名無しさん [2010/06/22(火) 05:35:24 ]
- >>777
hoge.Click += とか書いてTAB2回押せば勝手につくってくれるじゃん
- 779 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 05:47:02 ]
- >>778
プロパティのイベントを選べないじゃん
- 780 名前:デフォルトの名無しさん [2010/06/22(火) 05:54:13 ]
- >>779
だからその辺は>>776読めって 一旦デバックすれば継承したクラスも同じように操作できるから それができないとFormを継承したForm1の設定はどうやって実現するんだよ 普段コードをごりごり書いてるのはFormを継承したクラスだぞ
- 781 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 06:01:54 ]
- >>780
MainFormのデザイナから継承させたコントロールのイベントを プロパティウィンドウからメソッド生成させると 結局MainFormのクラス内にメソッドが追加されないか? これじゃ分割出来てないんだが
- 782 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 10:25:36 ]
- ボタン100個あって、100個クリックイベントを書くのは愚の骨頂だろ。
インタフェースの仕事としては、どのボタンがクリックされたかを伝えるだけで良いんだからさ。 それ以上に、動かす用途によって書き方は変わると思うんだが。
- 783 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 11:17:47 ]
- 100個あるボタンそれぞれが全く別の処理を行うというのは考えづらい
ツールボタン的なものや、データ行それぞれに対するコマンドあたりだろうけど そういうのは共通の入り口から振り分けられる
- 784 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 12:30:02 ]
- だね
- 785 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 13:01:54 ]
- private void button1_clickClick(object sender, EventArgs e)
{ MessageBox.Show("1"); } private void button2_clickClick(object sender, EventArgs e) { MessageBox.Show("2"); } ... private void button100_clickClick(object sender, EventArgs e) { MessageBox.Show("100"); } なんてコードがあったら継承して、一つに纏めろと言いたくなるわな。
- 786 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 13:34:52 ]
- さすがにそれは・・・w
使う方も大変だな、ボタン100個
- 787 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 14:01:28 ]
- ソフトウェア和文タイプキーボードとか
- 788 名前:デフォルトの名無しさん [2010/06/22(火) 14:03:54 ]
- >>787
TagでもNameでもいいので識別に使う情報も足せておけば イベントハンドラで余裕で処理できるよ
- 789 名前:デフォルトの名無しさん [2010/06/22(火) 14:10:08 ]
- >TagでもNameでもいいので識別に使う情報も足せておけば
>イベントハンドラで余裕で処理できるよ TagでもNameでもいいので識別に使う情報持たせておけば 一つのイベントハンドラで余裕で処理できるよ
- 790 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 14:40:49 ]
- >>785
継承も何も、一つだけ作って後は全部同じの指定しろって感じ?w IDEからもできるしな!
- 791 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 14:46:51 ]
- >>777
部品化したにもかかわらず、何処かのフォームの勝手な理由で部品を変更しようとするの? >>790 MessageTextみたいなプロパティをつくり、IDEからも操作できるようにしておき、 クリックされた時にMessageBox.Show(MessageText)を行うようなボタンを作成すれば IDEで配置→MessageTextを設定 という作業になるよ
- 792 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 14:49:52 ]
- わざわざつくるのめんどくさくてこうしてしそう。
private void Form1_Load(object sender, eventargs e) { Foreach (Control c in Panel1.Controls) { if(typeof(c)==typeof(Button)) ((Button)c).Click += new EventHandler(softkeys_button_click); } } private void softkeys_button_click(object sender, eventargs e) { Textbox1.Text = String.concat(Textbox1.Text, ((Button)sender).Text); }
- 793 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 15:05:21 ]
- デザイナで出来ない云々
- 794 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 18:05:57 ]
- >>785
この例だと継承なんていらないでしょ。 button_clickに全てまとめて自分自身を判別すればいいんじゃまいか。
- 795 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 18:09:31 ]
- >>794
自分自身を判断する際に適当なプロパティがあるかどうかってところだな。
- 796 名前:デフォルトの名無しさん [2010/06/22(火) 18:15:47 ]
- >>795
Tagになんでも設定できるので識別情報を入れるか Nameにbuttonxxxと言った感じでxxxの部分に識別情報を入れておけばOK
- 797 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 18:24:57 ]
- >>795
Tagってそういうのに使っちゃダメなの?
- 798 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 18:28:35 ]
- ボタン10個あってそれぞれに10個のイベントがあったら100イベント。
その他のコントロールもあったら数百個のイベントがあってもおかしくない。 そしてそれらが共通しない機能なのも普通にあり得る。 そういう状況の時にユーザコントロールを使えって話じゃないの? でもそれだとイベントを関連付けるときにプロパティウィンドウは使えませんよーって話。
- 799 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 18:37:59 ]
- >>798
>イベントを関連付けるときにプロパティウィンドウは使えませんよ ・・・お前は何を言ってるんだ・・・? 継承したのもカスタムのも、普通にプロパティ窓からイベント付けられるぞ?
- 800 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 18:46:41 ]
- 流れ仏多義理でちょい質問
Firefoxみたいにタブに閉じるしいたけ付けたいんだけど オーナードローするしかない?
- 801 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 18:47:35 ]
- >>798
ユーザーコントロールにするのなら、 メソッドやプロパティ同様に、イベントもコントロール内で定義したらプロパティウィンドウで使えるっしょ。
- 802 名前:デフォルトの名無しさん [2010/06/22(火) 18:49:40 ]
- >>800
タブ部分に閉じるボタンってこと? labelなんかだと配下にbuttonとか置けるんだけど タブコントロールのタブ部分にできたっけかな?
- 803 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 18:59:31 ]
- >>800
うん、オーナードロー。
- 804 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 19:11:17 ]
- >>799
>>801 あれ? プロパティウィンドウからイベントを自動生成+関連付けしたら、結局メインクラスに生成されない? メインクラスに生成されたらわざわざユーザコントロール作った意味がない気が…。
- 805 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 19:16:44 ]
- ああごめん。何いってんだ。
ユーザコントロールの方のプロパティウィンドウ使えばいいんだよね。
- 806 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 19:20:21 ]
- >>802
どうもタブそのものを取得するのが難しいみたい だから結局>>803って結論しかないか WPFなら簡単なのかねー?
- 807 名前:デフォルトの名無しさん [2010/06/22(火) 19:21:55 ]
- >>806
あとはタブぽい動きをするユーザーコントロールを自分で作るかだねえ
- 808 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 19:22:12 ]
- 質問です。
RichTextBoxで行間をピクセル単位で指定する方法はありますか?
- 809 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 19:34:11 ]
- コントロールを継承した時のデザイナってなんで表示されないんだっけ?
- 810 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 19:38:29 ]
- >>806
WPFなら簡単だね、タブに何でも入れられる。TabControl in タブなんて意味不明なUIさえ可能だ。 >>808 WinFormのRichTextBoxだと、EM_SETPARAFORMATで設定できないこともない
- 811 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 21:10:05 ]
- WPFなんて使ってるアホまだいるのか
- 812 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 21:18:58 ]
- WPFはこれから
- 813 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 21:30:19 ]
- >>811
VS2010をdisってるの?
- 814 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 22:20:06 ]
- WPFとかXNAとかしょっぱいもん使って作るくらいなら
DirectXをちゃんと使えるようにしろと
- 815 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 22:21:31 ]
- 軽さが本分のIDEを、良いグラボ必須にした戦犯と聞き及んでおりますが、反論は?
- 816 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 22:24:19 ]
- IDEの本分が軽さであった時などない。はいろんぱー
- 817 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 22:34:17 ]
- つまりは作るアプリ皆高性能グラボ高性能CPU必須にする素晴らしい技術ですな。
いやはや、NVIDIAにAMD、インテルから感謝状が期待できますのう。
- 818 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 22:39:17 ]
- じゃあいつまでもWin9x基準で作ってろよ
Win7がちゃんと動く環境ならWPFは普通に動く
- 819 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 22:42:48 ]
- 糞ボロいPCで開発、糞ボロいPCで使用っていうなら.netの使用自体を考え直した方がいいんじゃ
煽りじゃなく C#(.net)が出た当時なんてもっとボロカスに叩かれて「誰が使うんだよw」とか言われてたが ハードの進化で今は軽い方だと思うけどなー
- 820 名前:デフォルトの名無しさん mailto:sage [2010/06/22(火) 22:43:47 ]
- WindowマネージャがGPU使ってる時代に中身のツールキットだけレガシーに拘ってもねぇ
|

|