1 名前:デフォルトの名無しさん [2008/01/11(金) 15:41:00 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 ふらっとC#,C♯,C#(初心者用) Part22 pc11.2ch.net/test/read.cgi/tech/1197802312/
892 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 13:26:32 ] WMEの接続人数を変えたい! │ ├ 1.PCを買い換える │ │ [まちがい] │ 確実な方法ではありますが、お金がかかるのが難点です。 │ それよりも別の手段を探してみませんか? │ ちょっとしたフリーウェアでなんとかなるかも? │ ↑ │ ココがポイント! │ └ 2.RegSeekerを使う [せいかい]
893 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 13:31:12 ] >>886 >オーバースペック だったらDataGridViewとか無茶やコントロール生まれねえー!
894 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 13:35:12 ] 日本語書けよ。 なんだその意味不明な一行レス
895 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 13:37:51 ] や→な タイポですたゴメンナサイ
896 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 13:41:01 ] そこ直してもやっぱり意味不明だと思いますがw こういう人が質問するとエスパー召喚質問になるんだろうねw
897 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 13:48:36 ] ?複合コントロールとして肥大化しまくった最たるものだろ? オーバースペックならこんなもの生まれない。
898 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 14:00:12 ] WPFはかなりオーバースペックだが、Windows Formsはそこそこオーバースペック Formsに比べればWPFはよりオーバースペックで、何も矛盾することはない。
899 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 14:25:41 ] visualC#(Express)の、プロジェクトのプロパティ→リソースで画像ファイルを追加しました。 この画像リソースのアクセスレベルをpublicにするには、 Resources.Designer.csのコードを直接いじくるしかないのでしょうか?
900 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 14:41:48 ] >>898 えーと、WPFはプリミティブコントロールを現在の要求に合わせて 整理している感じなのが重要なんであって上位な複合コントロールが たくさんあったりするわけじゃないぞ。つかその視点ならFormsに劣る
901 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 18:17:48 ] >>882 の1行目が理解出来なんだけど誰か解説頼む。
902 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 20:36:20 ] ttp://dobon.net/vb/dotnet/programing/plugin.html Assembly.LoadFromで読み込んだAssemblyを保持してないようですが 使ってる最中にアンロードされたりしないんでしょうか?
903 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 20:43:56 ] Assemblyは一旦AppDomainにロードされたらそのAppDomainがUnloadされない限り残る
904 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 20:44:50 ] あ、 >Assemblyは って分かりづらいな アセンブリは、と言い換えとこう
905 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 20:59:05 ] C#でWinAPIって使えないんですか?
906 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 21:00:06 ] >>903-904 なるほど、よくわかりました。ありがとうございました。
907 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 21:01:40 ] .NETの色々あるクラスの定義を見たいけどどこにあるんでしょうか? あれ・・スレ違いでしょうか?
908 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 21:04:14 ] MSDN
909 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 21:04:34 ] >>905 使える >>907 MSDNじゃ足りないの?
910 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 21:08:52 ] >>908-909 えっと使い方というか各メンバ(メソッド)の説明はあるんですが その実際のコードはあるのかなと思いまして質問しました MSDNライブラリってそこまでしかないですよね?
911 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 21:12:27 ] VS2008で見れるようになったんじゃなかったっけ
912 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 22:15:11 ] Image.FromFile等でアニメーションGIFを読み込めますが 複数の画像とフレーム間の時間のデータからプログラム中で Imageを生成するにはどんな感じにすればいいのでしょうか?
913 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 22:49:31 ] GDI+じゃ無理 普通にタイマで描画してくんじゃ駄目なの?
914 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:22:01 ] SelectActiveFrame って使えないの?
915 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:37:48 ] 既存のGIF画像になら使える
916 名前:912 mailto:sage [2008/02/02(土) 23:54:37 ] アプリケーションからはアニメーションなImageは作れないんですか… 自分でアニメーションさせてみます。 ありがとうございました。
917 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:56:45 ] Win32のPtInRectと同等の機能を持つメソッドって.NETにありますか? 今探していますが見つかりません。 Rectangleのスタティックとしてあるのかと思ったらありませんでした。
918 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:57:52 ] gifはファイル構造が比較的単純だから自前でヘッダ書いてく手もあるけどね
919 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 00:00:17 ] >>917 〜〜と同等の機能じゃなくて言葉で機能を説明しろと まあ普通にRectangleのインスタンスメソッドにあるけどな
920 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 00:03:30 ] あったあったよく見てなかったわサンクス msdn2.microsoft.com/ja-jp/library/system.drawing.rectangle.contains (VS.80).aspx
921 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 01:33:18 ] サウンド関連で教えてください。 テキストボックスに入力を行った際、エンターキーを押すとシステム設定のエラー音が鳴ってしまいます。 これをプログラム上から鳴らなくするにはどうすればいいのでしょうか? winXP sp2 で VS2005です。
922 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 01:41:29 ] TextBox ビープ音
923 名前:899 mailto:sage [2008/02/03(日) 01:46:57 ] 自己解決しました。2008にはデザイナに項目が追加されてました。
924 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 01:50:50 ] 課題終わらない\(^o^)/
925 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 01:54:02 ] >>924 先生は一人だがお前には俺らがついてる!
926 名前:921 mailto:sage [2008/02/03(日) 02:18:03 ] ググって e.Handled = true; としてもやっぱりBeepは消えてくれません。
927 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 11:46:23 ] インテリセンスで拡張メソッドが候補に表示されるときは頭に「(拡張子)」と表示される しかしMSDNのメンバ一覧では「Extension のメソッド」として記載されてる しかしMSDNではその他の場合は全て「拡張メソッド」 なんだこれ
928 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 11:48:48 ] 英語版使え
929 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 13:13:04 ] プログラムを発行する際に 特定のファイルも自動的にインストールされるようにするにはどこに置けば良いのか教えてください
930 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 13:29:47 ] C#の良書があったら教えてください
931 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 13:49:58 ] プロパティを使うと遅くなるから for文などの繰り返し処理の中では 使わない方がいいと聞いたんですが そういうもんなんですか?
932 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 13:55:01 ] プロパティの実装による コントロールのプロパティは中で色々やってて遅いのが多いかも フィールドの値を返すだけの単純なプロパティならインライン展開されてほとんど変わらん
933 名前:931 mailto:sage [2008/02/03(日) 14:50:19 ] 今実験してみたら300倍以上違ったwww 簡単な画像処理でテスト。 1: 12889msec 2: 38msec 1.プロパティ使いまくる場合 for (int y = 0; y < bmp.Height; y++){ for (int x = 0; x < bmp.Width; x++){ if (data[y * bmpData.Stride + x * 3] == Color.White.B){ data[y * bmpData.Stride + x * 3] = Color.Black.B; } } } 2.変数を使う場合 int w = bmp.Width; int h = bmp.Height; int yPos; byte white = Color.White.B; byte black = Color.Black.B; for (int y = 0; y < h; y++){ yPos = y * bmpData.Stride; for (int x = 0; x < w; x++){ if (data[yPos + x * 3] == white){ data[yPos + x * 3] = black; } } }
934 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 14:55:44 ] メンバ変数を直接使うのと プロパティを使うのとで 比較しないと。
935 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 14:57:46 ] Bitmap.Width/Heightは中でアンマネージ関数呼んでる Color.White.Bは新しいColor作成→値渡し→ビット演算 どっちも全然単純なプロパティじゃないの
936 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:12:41 ] >>933 のコードはどこがボトルネック?
937 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:15:52 ] bmp.Widthとbmp.Heightかな
938 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:28:52 ] >>933 その例が極端だとしてもこれはいいこと聞いた 定数クラスに新たに用意してそれでやってみる
939 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:32:00 ] は?
940 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:34:52 ] >>939 この話がわからない子は参加しなくていいんじゃないかな
941 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:38:00 ] 荒れる流れストップ >>938 が言ったことを咄嗟に>>939 は想像出来なかった また、他人に伝える意図でないものを>>938 がレス内容に含めたというのにも問題がある
942 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:39:42 ] bmp.Width/Heightが Color.White.Bよりもネックになる理由がわかりません。 どうしてですか?
943 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:45:10 ] VBのForループなら>>933 の前者でも結果あまり変わらなそうだ。 まあとにかく、速度が問題になる場面では可読性犠牲にしてでも(といってもそれで低下する可読性なんてほんの僅かだろうけど) プロパティーをキャッシュして使った方がいいってことか。
944 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:45:41 ] >>942 >>935 怪しいことしてるのはそこくらいだから
945 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 15:58:56 ] >>942 Color.White.Bがネックにならないのは、コンパイラがそれをリテラルに 置き換えてるからだろうけど、どうしてコンパイラはColor.White.Bの値を 定数扱いしても大丈夫だと知ることができるんだろう・・・
946 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:01:52 ] > コンパイラがそれをリテラルに置き換えてるから 頭沸いてるんですか^^;
947 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:02:51 ] >>946 君頭悪いでしょw
948 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:11:14 ] >>933 MDAの影響は排除してる? ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=521353&SiteID=7
949 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:15:28 ] おまいら!もちつけ! /\⌒ヽペタン / /⌒)ノ ペタン ∧_∧ \ (( ∧_∧ (; ´Д`))' ))(・∀・ ;) / ⌒ノ ( ⌒ヽ⊂⌒ヽ .(O ノ ) ̄ ̄ ̄()__ ) )_)_) (;;;;;;;;;;;;;;;;;;;)(_(
950 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:17:40 ] WebBrowserって、MouseEnterのイベントをサポートしてないのか! なぜだ!?
951 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:18:19 ] それより困るのは、ArrayList.Countじゃね? ArrayListの実装って配列モドキのくせに CountにO(N)かかるんだけど・・・ 一度それでハマったことがある
952 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:20:13 ] は?
953 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:22:13 ] >>951 さすがにそれは嘘だろうと思ってソース見てみたら変数の内容返してたよ。 というわけで少なくとも最新版のArrayListではO(1)。 ソース公開便利だね!
954 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:29:53 ] >>953 そうなんだ 昔のArrayListで while(al.count > 0){ ・・・O(N)の処理 } ってやったらやたら時間がかかって、 しばらく悩んでたらArrayList.countがO(N)で、O(N^2)になってたことがある このときは死ねよと思ったが改善されたなら良かった
955 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:33:21 ] WebBrowserでMouseEnterを受け付ける方法ってありますか? もしくは、WebBrowserの親に通知する方法とか。
956 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:34:11 ] 処理に時間のかかるプロパティは作るな!っていうMSのガイドラインがあるけど あんまり守られてないなw
957 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:34:46 ] forとwhileの違いを教えてください 下記のところを読んでも違いがよくわかりませんでした ひょっとしてforはいらない子なのでしょうか? d.hatena.ne.jp/gallu/20060829/p2
958 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:37:18 ] それを肯定したらC#の存在意義がなくなる foreachもいらないLINQもいらないプロパティもデリゲートもいらない
959 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:37:45 ] >>956 根本的な疑問。 「作るな!」って宣言すれば、本質的に重い処理にならざるを得ないプロパティが 軽くなるの?w
960 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:38:30 ] >>957 むしろwhileがいらない子なんじゃないの
961 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:41:20 ] >>959 重い処理はメソッドにする プロパティだとなんとなくループ中に繰り返し呼び出してもOKかな?という感じがあるから msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpgenref/html/cpconpropertyusageguidelines.asp
962 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:45:03 ] >プロパティだとなんとなくループ中に繰り返し呼び出してもOKかな?という感じがある むしろその感覚の方を修正すべきなのでは? だってそれは単なる願望であって、現実的な認識じゃないでしょ。
963 名前:957 mailto:sage [2008/02/03(日) 16:48:02 ] とくに違いはないということでよろしいのでしょうか?(´・ω・`)
964 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:48:58 ] たしかに、プロパティにルーティンをかけるけど、 実際にどのレベルまで書いていいのかな?って悩む時はあるね。 基本的にメソッドと同じくらいの処理はかけるわけで。。。
965 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:52:02 ] get には return 文しか書けないよう、 set には1文しか書けないよう制限すればいいのに。
966 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:01:08 ] コントロールのプロパティは仕方ないとしても Bitmap.Widthはコスト無いと思うだろ普通
967 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:01:22 ] setだって、配列データをobjectとして渡して、中で分解して使うようにすれば、 実質複数の引数を渡してるのと同じことができるからな。 メソッドと変わりはあんまないような。 つまり、線引きの問題だよな。
968 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:01:27 ] >>965 本末転倒でしょそれは。 プロパティの目的はOOP的な思考モデルに実際のコーディングを近づけることにあるんであって、 処理の効率化のためではない。
969 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:03:11 ] 素朴な疑問なんだけど MSのガイドラインに背いてまで、メソッドではなくプロパティで重い処理をしなければならない 本質的な理由にはどんなものがあるのかな
970 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:05:27 ] do-whileがあればいいのに
971 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:05:59 ] >>969 問題は重いと重くないの境目でしょ。
972 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:07:11 ] >>969 セッターでセットした時にクラス使用者には意識させず対象プロパティ以外の値を変更したいとき
973 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:07:32 ] 今日の話は勉強になった。 次スレも期待
974 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:08:11 ] >>969 愚問だね。 その方がライブラリの使用者にとって直感的なインターフェイスだからでしょ。
975 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:09:51 ] 基本的には、1つに対してのget,setのみの使用でしょう。
976 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:12:55 ] >>955 TrackMouseEvent
977 名前:955 mailto:sage [2008/02/03(日) 17:18:56 ] >>976 あぁ、まさにそれです。 www.thescripts.com/forum/thread268276.html ここに書かれてる内容こそが、今私が悩んでいるところです。 熟読してみます。 どうも。
978 名前:955 mailto:sage [2008/02/03(日) 17:30:10 ] やっかいですね。 これはMFCのプログラミングになっちゃいます。 WM_NCMOUSELEAVEをC#側でdefineしないといけないってことか。
979 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:32:34 ] >>974 しかしプロパティの取得に時間がかかるのは直感的ではない、とw
980 名前:955 mailto:sage [2008/02/03(日) 17:35:47 ] const int WM_CLOSE = 0x0010; const int WM_ENDSESSION = 0x16; const int WM_SYSCOMMAND = 0x112; const int SC_CLOSE = 0xF060; のリストが掲載されているWebページってありますか? もちろん今自分で探していますけど。。。
981 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:37:51 ] 素直にWindows SDK入れとけよ
982 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:38:11 ] >>980 WinUser.h
983 名前:955 mailto:sage [2008/02/03(日) 17:38:40 ] 見つけたけど、肝心の値がないw orz msdn2.microsoft.com/en-us/library/ms645626 (VS.85).aspx
984 名前:955 mailto:sage [2008/02/03(日) 17:41:04 ] >>982 winuser.hにありました。 #define WM_NCMOUSELEAVE 0x02A2 誠にありがとうございます。
985 名前:955 mailto:sage [2008/02/03(日) 17:45:38 ] お礼の意味を込めて次スレを立てときました。 素人発言で気に障ったかたもいらっしゃったと思いますが、 ありがとうございました。 ふらっとC#,C♯,C#(初心者用) Part24 pc11.2ch.net/test/read.cgi/tech/1202028267/
986 名前:955 mailto:sage [2008/02/03(日) 17:52:10 ] WebBrowserだと、WndProcにWM_MOUSELEAVEのイベントがこないですね。。。 それ以外だと来ますが。 Console出力をして確認して気づきました。 一難さってまた一難。
987 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:58:33 ] ここはお前の日記帳じゃない
988 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:01:33 ] 俺は応援してるよ
989 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:05:30 ] >>985 新スレ立てるなら関連スレもはれよ。 中途半端な仕事しやがって。
990 名前:955 mailto:sage [2008/02/03(日) 18:07:48 ] 単にWebBrowserでマウスイベントを検出したいだけなんですけどね。 こんなに苦労をするとは予想外でした。
991 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:29:45 ] Document.Bodyのイベントを使うのはダメなのか?
992 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:31:50 ] 中身がHTMLDocumentじゃなかったら使えないだろ。
993 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:26:41 ] Application.AddMessageFilterで横どる。色々応用きくからこの際 覚えとけ
994 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:10:10 ] TrackMouseEventで始めないと メッセージすら生成されないと思うのだが