1 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 18:23:31 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part45 (実質46) pc12.2ch.net/test/read.cgi/tech/1255658236/
175 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 12:15:03 ] C#とかの仕様の問題じゃなく、単にアルゴリズムの間違いだと思う。 ネタ元ページの走査開始点の式に出力画像の幅高さが出てこないのが変。 アイデアとしては、図の通り斜めにコピーするのは納得できる。 でも、コピー先の領域(出力画像の幅高さ)を適用しないと、コピー元での走査 開始点座標が求まるはずが無い。 幾何学的意味は、回転中心を元先で合わせて、先領域を回転させて先領域の (0,0)が該当する位置を、元領域での走査開始点とするから。 よって、式が疑わしい。 回転の中心と画像の中心をごっちゃにして間違ってるんじゃないかなコレ? 書かれているように画像の中心なら幅高さとは別に用意されてる意味がない。
176 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 12:31:00 ] >>175 そうなんですか じゃー動くやつであとはLockBitsして高速化してみます
177 名前: softbank221086123053.bbtec.net mailto:sage [2009/11/07(土) 13:47:07 ] たとえば、string変数の abc[def]ghi があるとして、 [と]の間にある文字列を取得する場合はどのように書けばいいのでしょう
178 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 13:49:58 ] いや、回転中心も原点からの座標値だから正しい。175は勘違い。
179 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 13:52:18 ] >>177 String#Substring メソッド
180 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 13:56:21 ] >>177 Regex
181 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 14:18:07 ] >>142 セダンの運転手を雇ってる人が一番エライ Access使いだろうがC#使いだろうがただのしもべ
182 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 14:26:56 ] はいw
183 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 14:36:22 ] >>173 × int_sin = (int)(Math.Sin(A) * 1024); × int_cos = (int)(Math.Cos(A) * 1024); ○ int_sin = -(int)(Math.Sin(-A) * 1024); ○ int_cos = (int)(Math.Cos(-A) * 1024); × DYX = int_sin; ○ DYX = -int_sin; × BmpBufRot.SetPixel(y2, x2, BmpSource.GetPixel(y1, x1)); ○ BmpBufRot.SetPixel(x2, y2, BmpSource.GetPixel(x1, y1)); で動いた。
184 名前:中学生 mailto:sage [2009/11/07(土) 14:36:42 ] じゃあセダンの運転手を雇っててACCESSとC#の使える俺が一番偉いんかったんや!!
185 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 15:02:55 ] もっと面白い事言えんのかね
186 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 15:05:06 ] 名前欄に中学生とか書いちゃうような人に期待するだけ無駄
187 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 15:30:03 ] >>183 うおおお 神! ばっちりでした!
188 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 15:49:36 ] ちなみに>>171 の変更は必要ですか?
189 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 16:21:54 ] >>183 1つ目必要ないし
190 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 16:45:42 ] >>188 必要。 >>189 ああっっ、いらんわ確かに。
191 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 17:15:24 ] AxWindowsMediaPlayerを使い音楽ツールを作っているのですが、 プレイリストを作り順再生/ランダム再生を行おうと思い、 AxWMP.currentPlaylist.appendItem(newsong); こうすれば追加は可能ですが、 何番目の曲をプレイリストから削除することや、 現在プレイリストに入ってる曲をリストボックスに表示する方法が分かりません。 プレイリストを配列で取得・・・できるようなメソッドはありませんよねぇ・・・
192 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 17:27:17 ] SDK見ただけだけど IWMPPlaylist.Item (VB and C#) The Item property (the get_Item method in C#) gets an interface to the media item at the specified index. とか IWMPPlaylist.count (VB and C#) The count property gets the number of media items in a playlist. とか IWMPPlaylist.removeItem (VB and C#) The removeItem method removes the specified media item from the playlist. とかあるけど、駄目なのか?
193 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 20:48:35 ] >>189 ありがとうございます >>190 了解です ありがとうございました
194 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 20:48:51 ] Graphics
195 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 20:50:44 ] お、やっと解除された。 >>173 モバイル環境で開発してるみたいだけど、PixtureBoxもGraphicsも使えるんだろ? そしたら拡大だろうが回転だろうがその範囲で自由にできると思うんだけど。 なぜそれくらいでゴリゴリベタなバイナリを触ろうとするのかがよく分からないな。
196 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 21:22:53 ] CompactFrameworkには回転もアフィン変換も無いんだよ
197 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 22:18:40 ] RectangleFとかPointFとかfloat座標使えないし、コンストラクタのオーバーロードも 軒並みアウトで作ってからシコシコとプロパティ設定とかだしな。 まあしかし、手作り感がたまらないという。なんというかマゾヒズム?
198 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 22:43:07 ] VisualStudioのc#で実行したら binのDebutにexeができて ビルドを選んだらReleaseにexeができるけど ビルドで作られたexeとDebugのexeはなんか違いあるの?
199 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 22:49:54 ] それは自分で設定する。最適化の有無とかDEBUG定数の定義とか。
200 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 23:03:37 ] まあC#の場合は大した違いはない
201 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 06:31:04 ] 191です AxWMPのプレイリスト機能を使うのではなく、 配列でプレイリストのかわりにURIを持ち、 PlayStateChangeイベントハンドラで 再生終了後、配列から次のURIを読むようにしているのですが、 axwmp.Ctlcontrols.stop(); axwmp.URL = SongsPlaylist[i].ToString(); axwmp.Ctlcontrols.play(); この最後のplayメソッドが働らいていないようです。 これはどうすれば良いでしょうか?
202 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 09:07:22 ] BeginInvokeでplayの呼び出しを遅延させる
203 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:02:12 ] >>202 ありがとうございます。 URIが送られてPlayStateChangeイベントが発生したからのようですね。 初歩的なことでした;ありがとうございました。
204 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:49:35 ] VB、C#とやってるんですが、 次手を出すなら何が良いと思いますか?
205 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:54:52 ] 他の言語に手を出す前に、VB と C# を究めたら?
206 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:55:24 ] 何がやりたいかによるんじゃ? .NETつながりでIronPython、、つまりPythonとかどうよ
207 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:55:35 ] >>204 プログラミング言語はプログラムを作る道具であって、 それに手を出すこと自体に意味があるわけではないよ。 とはいえ異なるプログラミング言語に触れることで思考の引き出しは増えていくので、 暇があるときに他の言語を試してみるというのも悪い話ではない。
208 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:02:31 ] 繋がり重視ならIronPython。 引き出しを増やすならHaskellを勧める。
209 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:11:46 ] 色々触るのもいいけど、ひとつを極めるのも面白いと思う
210 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:49:13 ] .NET Compact Frameworkネタでもうひとつお願いします キーロックと画面を横にしたりするのを実装したいんですが どうしたらいいんでしょうか? さっきから探してるんですがヒントさえ見つかりません
211 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:55:48 ] 言語なんてどうせ手段なんだし極めるもなにもないような・・・ オブジェクト指向を極めたぞ!とかならまだしも。
212 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:08:07 ] だよな いかに優れたアプリケーションを作るかの方が大事だよ
213 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:14:38 ] C#極めたってのがどのレベルを指すのかはわからんけど(言語仕様の把握??) .NETを極めたぞ、とかならそれなりに意味があると思う。 それだけでも仕事取れるんじゃない?
214 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:15:18 ] いやいや、例えば車にだって低回転時のトルクがどうとかステアリングがどうとか 車種によって特性があるじゃないか。 車なんてどうせ手段だし極めるもなにもないような・・・ 運転を極めたぞ!とかならまだしも。 と、特定車のスレで言い放っているのと同じだぜ、それ。
215 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:15:26 ] 自分で言ってておかしいと思わないのかな 手段を極めることとは、すなわち生産性を高めることだろ
216 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:16:05 ] >>211 >オブジェクト指向を極めたぞ! すごく胡散臭さを感じるw
217 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:19:44 ] 極めるなんて言う程奥深いか? 生産性高めるのって言語に対する習熟より他の部分に依る部分の方が大きくない?
218 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:21:01 ] 極めるとか高校生が言いそうですね
219 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:21:34 ] >>217 よくわかってないなら黙ってろカス お前がC#の深さを全然知らんだけだろ
220 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:24:40 ] C#の深さwwww マジレスすると、VB、C# ってきたらあとはPython、Perl、Rubyあたりのスクリプト言語に慣れとくと 色々便利じゃないかね。
221 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:25:46 ] 言語を究めたって言われてもいまいちイメージできない その言語つかって思い通りのソフト作れるってこと?
222 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:31:54 ] だとしたらだいぶ浅いな。
223 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:35:51 ] エスパーレスが出来ることだろ
224 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:43:11 ] 自分で処理系作れたらおk
225 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:55:32 ] 極めたっつったら、その言語のコンパイラーを自作しちゃうくらいの勢いだな
226 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:00:08 ] 言語極めててもその言語のコンパイラは作れないだろ。 もっと別種の知識が必要で、それさえあればあとはその言語の仕様書さえあれば 極めてなくても作れると思うぞ。
227 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:19:49 ] ネタだろw
228 名前:デフォルトの名無しさん [2009/11/08(日) 17:20:48 ] C# を極めてもねぇ…。 極めるってほどじゃないと思う。 言語を極めてもクラスライブラリを使いこなせなけりゃ意味ないんだから .NET の CLR と クラスライブラリを極めないと…。
229 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:23:43 ] コアとあなたは、クラスメイト♪
230 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:26:56 ] CLRの理解を深めるといい。
231 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:47:24 ] Form_Load後、300ミリ秒程度間を開けて処理をしたいのですが、 それだけのためにtimerを利用するのもどうかと思いますし、 同じスレッドで他の処理はしたいので、Threading.Thread.Sleepは使えません。 こんな時に使えるモノはないでしょうか?
232 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:48:10 ] C#極めましたっていったらまあ.NET極めましたって意味に取っちゃうかな
233 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:50:43 ] >>231 Timerでいいよ
234 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:51:58 ] よっぽどヒマならアセンブラ辺りやっとけば。 その上でネイティブの C をちゃんと覚えれば無敵状態になれるかもよ。
235 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:57:07 ] ネイティブのCって開発環境無いよね
236 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:00:56 ] いくらでもあるだろ。
237 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:06:31 ] >>231 用途に合うかどうかは知らないが、 フォームの表示が済んだらすぐ程度でよかったらShownイベントでいいんでない?
238 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:24:00 ] プロパティの get 内でウェブアクセスして情報取得をしたいのですが、問題ありますでしょうか? それともメソッドにすべき?
239 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:44:04 ] >>237 それは試してましたが、 Loadから呼ばれる関数内から300ミリ待たせたかったので、 Shownだと早すぎてアウトみたいです。 とりあえず暫定的にタイマー使っておこうかと思います。
240 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 19:45:54 ] >>238 さすがにそれは絶対ダメ メソッドどころか専用のクラス作ってもいいくらいだ
241 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 20:31:19 ] >>240 だめですか・・・ 大人しく SetXX と IsXX を作ります。 ガイドライン見てみるとたしかに書いてありますね。 msdn.microsoft.com/ja-jp/library/ms229054.aspx より >以下の場合は、プロパティではなくメソッドを使用してください。 > 操作がフィールド セットの場合よりも格段に低速の場合。 > スレッドのブロックを避けるために非同期バージョンの操作を提供することも検討している場合は、 > プロパティでは操作の負荷が大きくなりすぎる可能性があります。 > 特に、初期化時以外にもネットワークやファイル システムにアクセスする操作は、 > 多くの場合、プロパティではなく、メソッドにする必要があります。 多くの場合って書いてあるけど、例外的にOKな場合もあるんだろか・・・
242 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 20:38:40 ] バインディングやリフレクションの都合でどうしてもプロパティにしたい場合はあるだろうな
243 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 20:49:39 ] じゃあ、form上の複数のコントロールのenable値を変えたい時にプロパティで設定するのはおk?
244 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 21:27:07 ] >>243 論理値でだとすると微妙。 一度にfalse/trueにする機能ならメソッド推奨。 複数コントロールのenable値の組み合わせは論理値じゃ返せないだろうし、 そしてget無しのset専用プロパティはガイドライン違反だから。 ※ 無理矢理にでも返すとか言い出すなら「ご勝手に」かな。
245 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 22:22:27 ] 副作用起こすプロパティ作って、うまいことやった気になるのは初心者によくあること HogeControl.Enadled = true; これで他のコントロールが無効になったり ネットワーク通信始めるようになったら、次にソース見たときに それが本当に何をやっているのか中まで全部見ないと理解できないものになる 小さいプログラムのうちはなんとかなるが、大きくなるにつれて たまねぎの皮を剥くような精神力の戦いに引きずり込まれることになる
246 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 22:28:51 ] >>245 どういう意味で「副作用」と言っているのか不明瞭な気がするが、 それは抽象化と命名が適切かどうかという問題であって、 「それ」がプロパティかメソッドか、という問題ではないと思うが。
247 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 22:50:25 ] メソッドは操作、プロパティはデータを表すのが一般的だとガイドラインに明記 されているし、俺もそう思う。 抽象化と命名の問題かもしれないが、区別して使うに越したことはない。
248 名前:243 mailto:sage [2009/11/08(日) 22:51:48 ] >>244 一括ではない。 組み合わせをcase式で処理してる。 さらにいえば、それは親フォームにある共通のコントロール。 getsetで渡す値はenumな値で表示モードです。 子フォームからgetsetして共通コントロールの制御を親のプロパティで行い、子は自formのコントロールの制御をおこなう。 状態としてコントロールの管理をしたかったんた゛。
249 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 23:09:08 ] >>248 それは別にいいんじゃないの?
250 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 23:10:25 ] それはイベント使った方がいい気がする せっかく親フォームを抽象化しようとしているみたいなのにもったいない
251 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 23:38:54 ] XmlSerializerでメンバをシリアライズ/デシリアライズする際、 独自の日付方式で書かれた文字列をDateTimeに変換したい場合に 属性のみの記述で変換することは不可能でしょうか? それとも大人しくラッパークラスを作るしかないんでしょうか? ・日付文字列(W3Cで定義された形式とは違う) Sat Jan 24 22:14:29 +0000 2009 ・メンバ [System.Xml.Serializer.XmlElement("date")] public DateTime Date {get; set;}
252 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:01:57 ] >>251 言ってることが支離滅裂に聞こえる。 独自の日付方式で書かれた文字列って何? >public DateTime Date {get; set;} このプロパティの型はDateTimeであって文字列ではないと思うけど。
253 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:05:29 ] >>252 カスは黙ってろ
254 名前:ISO 8601 mailto:sage [2009/11/09(月) 00:09:55 ] まあ、アメちゃんに国際規格とか言っても、北米が全世界で他は異世界と思ってるしな。
255 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:29:33 ] DateTimeは構造体ダス
256 名前:251 mailto:sage [2009/11/09(月) 00:30:22 ] >>252 XML上の「文字列」をDateTime型のプロパティにデシアライズしたい、というわけです。 その際、W3Cで定義された形式の日付文字列は特になにもしなくてもDateTime型に相互変換出来るんですが、 >>251 で挙げてるようなW3C標準じゃない形式の場合は変換してくれないんですよ。 で、属性にフォーマット指定したり変換用のデリゲートとかクラス指定したりして シンプルに書く方法はないのかなぁと・・・ >>254 REST API実装してるアプリが返す日付形式って結構ばらばらな上適当ですよねぇ。
257 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:36:45 ] DateTimeの書式を決めるカルチャ設定はスレッドごとに云々 DateTimeFormatInfo使えんかね
258 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:39:13 ] >>256 そういうことなら、(当たり前のこと言うなと思うかもしれないけど) >public DateTime Date {get; set;} このプロパティにはXmlIgnore属性をつけておいて、このプロパティの値を 「独自の日付方式」の文字列で設定/取得するデシリアライズ用のダミーの プロパティーを用意するだけじゃないの?
259 名前:251 mailto:sage [2009/11/09(月) 01:04:58 ] >>257 シリアライザの方はカルチャ設定の書式ではなくW3Cの仕様にしたがって変換してるみたいです。 >>258 そうするとパブリックな日付のプロパティが2つ出来てしまうわけですよね。 あんまり無駄なパブリックメンバは作りたくないというのが正直なところです・・・ とりあえず、IXmlSerializable を実装した DateTime の子クラスを作って使うことにしてみます。 W3C規定の形式以外はこれが正解になるんだろか?
260 名前:251 mailto:sage [2009/11/09(月) 01:07:02 ] って、DateTime は継承出来ませんね・・・
261 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:09:13 ] それは255で既に指摘されてるじゃん
262 名前:251 mailto:sage [2009/11/09(月) 01:30:57 ] ググったところ、 DateTimeをラップして IXmlSerializable を実装するクラスを書くか 日付のプロパティ持ってるクラス自体で IXmlSerializable を実装して 他のプロパティでも属性使って楽するのを放棄するかの2パターンぐらいみたいですね。 うう、なんかすっきりしないなぁ。
263 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 09:07:39 ] 以下のようなクラスがあった場合 public class A { public A(string id) {...} public string Id {get; set;} } public class B { public B(string id) {...} public string Id {get; set;}; } A.Id と B.Id がお互い代入出来なくするためにはそれぞれクラスや構造体(AidとかBidみたいな)を 作るしかないのでしょうか?
264 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 10:46:30 ] >>263 イマイチ意図が読み取れないけど GETだけのプロパティアクセスはだめなの?
265 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 12:37:34 ] >>264 Cのtypedefみたいなことがしたかったんですが、C#のusingだと別名なだけで 相互に代入してもコンパイルエラーにはならないみたいですね。 やりたかったことは、以下でした ・A.IDとB.IDはお互いに採番体系が異るのでコード中で混ざらないようにしたい (コンパイラにミスを見つけさせたい) ・ID自体にはメソッドもプロパティも不要なのでなるべくクラスは作りたくない ・プロパティはセッタもゲッタも必要 一番目か二番目を妥協するしかないのかしらん
266 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 12:50:14 ] えっ
267 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 12:50:38 ] ますますわからんw
268 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 12:59:22 ] メリットがいまいちわからんな…
269 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 13:15:18 ] >>210 です ロケーションの変更は msdn.microsoft.com/ja-jp/library/cc825750.aspx でわかったんですがキーロックの方法がわかりません 画面コピーしたモーダルウィンドウを全画面で出すとかですかね? イベントをおおもとでキャッチしてしまえばいいんですが 作成しているのがコントロールオブジェクトなので親のイベントを 横取りするのも作法としてどうなのかと思いますし、方法もわかりません ご意見をお願いします
270 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 13:41:33 ] >>269 通常はAPIのSetWindowsHookExを呼んでキーボードフック(WH_KEYBOARD_LL)でやるんだけど WMだとどうかな。一応、非公式でこのAPIそのものはあるみたいだが。
271 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 13:58:57 ] >>268 たとえば、A.IDとB.IDを受けとってなにかするメソッドHogeがあったとして、 > public static void Hoge(string aId, string bId) {....} コーディング中に第一引数と第二引数が逆になっちゃってもコンパイル時にはねて欲しいんですよ。 この場合はプロパティを直接渡すんじゃなくてクラスで渡せば問題ないですが。
272 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:16:40 ] typedefってエラーになったんだっけ?
273 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:21:42 ] >>272 俺も疑問に思ったんで今試したが普通に通るな。警告すらでなかったぞ。 #cygwinのgccで警告最大でコンパイルした結果。彼は何か勘違いしてる気がする。
274 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:23:56 ] クラス(とかstruct)で渡せばいい話じゃない
275 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:28:08 ] IDだけのクラス作ってもいいと思うよ IDクラスからAIDとBID継承させるとか