- 1 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 12:19:35 ]
- このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 >>980を踏んだ人は新スレを建てて下さい。 >>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part52 pc12.2ch.net/test/read.cgi/tech/1261801623/ 関連スレ C#, C♯, C#相談室 Part55(実質56) pc12.2ch.net/test/read.cgi/tech/1260111240/ WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5 pc12.2ch.net/test/read.cgi/tech/1261879110/
- 321 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 02:16:59 ]
- 後者YES
C++/CLIでも使った方が楽じゃねえかと思う
- 322 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 02:17:51 ]
- >>320
リフレクションで呼び出すか、プラグインinterfaceのDLLを準備する。
- 323 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 02:19:41 ]
- プラグイン側がC#で呼び出すほうは違うのかな?
なら>>322はなしで。
- 324 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 02:24:00 ]
- グローバル関数って言ってるからLoadLibrary+GetProcAddressだろう
注意しておくとグローバル関数にするだけじゃ駄目な エクスポートしないと
- 325 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 02:27:46 ]
- >>321
ありがとうございます。C#の勉強も兼ねているので、ちょっと泥臭いことも含めて色々試して見ます。 >>322-333 リフレクション云々が分からずぐぐってみてましたが、DLL側で属性の定義をしておくと C#のDLLを呼び出す場合にアセンブリ情報を使って条件分岐等出来るということなのでしょうか。 また別で調べてみます。どうもありがとうございました。
- 326 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 02:32:49 ]
- 泥臭いも何も、ネイティブからLoadLibraryで呼び出される類のプラグインはC#のみだと作成できないぞ
- 327 名前:デフォルトの名無しさん [2010/01/15(金) 03:04:54 ]
- コンテナをいくつか配置して、その中に動的にボタンなどを入れ込む場合
プログラム全体としてうまく管理する方法はないでしょうか? クリックイベントはコンテナ単位で共通にした上で ボタンなどを動的に作る際の名前(Name)に 記号+識別番号A+識別番号Bを文字列化しています。 ただこの方式だとクリックイベントを処理する際にNameから 元の番号を切り出して・・とあまりスマートではないので よろしくお願いします。
- 328 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 03:08:12 ]
- もう少し目的を具体的に書けよ
うまく管理したいって何を ボタンごとに情報を持たせたいとかそれだけならButton.Tagに何か入れとけ
- 329 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 03:19:08 ]
- 共通のイベントハンドラから、どのボタンが押されたのかを識別する為に
名前から特定の文字列を抜き出して識別する現状の方法以上にいい方法があるか …ってこと?
- 330 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 03:19:17 ]
- >>325
ちょっとひねればプラグインのサポートはそんなに難しくないよ。 まず、プラグインの雛形となるinterfaceやenumを定義した基本となる情報を入れたDLL(A)を作成する。 それを元にプラグインのDLL(B)を作成する。 アプリ本体は(A)に参照設定を持っておいて、(B)をリフレクションで読み込む。 (B)のコードはinterface越しに扱えばいい。
- 331 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 03:25:43 ]
- 派生コントロール作ってsenderから独自プロパティ参照して云々するのが
オブジェクト指向的にはあってるんじゃないの 「コード書くのがめんどくせぇ」っていうなら今の方法がいちばんだからそのままにしとけ
- 332 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 03:27:19 ]
- だね。
- 333 名前:デフォルトの名無しさん [2010/01/15(金) 03:29:23 ]
- >>328
>Button.Tagに何か入れとけ >>329 はい >>331 つまりボタンなりを継承したクラス作ってそこに・・・ということですか
- 334 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 03:30:19 ]
- ああ・・中途半端な状態で・・・orz
>>328 >Button.Tagに何か入れとけ 確かにこれもいいですね
- 335 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 04:20:50 ]
- ttp://www.atmarkit.co.jp/fdotnet/architecture/petshop/petshop_01.html
↑で紹介されているPetshop3.0についてなんですが 記事ではコードを読むことを勧めていたので ttp://www.microsoft.com/downloads/details.aspx?FamilyId=E2930625-3C7A-49DC-8655-A8205813D6DB&displaylang=en 記事中の↑のページから、サイト内をいろいろ探してみたのですが ソースコードの所在がわかりません。 どこを見落としているのか、自分ではとうとう発見できずにいます。 どなたかわかる方いらっしゃいましたらご教授願えないでしょうか。よろしくお願いします。
- 336 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 04:48:49 ]
- 何のギャグだよ
それインストールすりゃはいってる
- 337 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 07:15:58 ]
- >>326
ILをいじるという方法はあるけどな。
- 338 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 07:29:59 ]
- formにlistboxをFillで貼り付けてウインドウサイズを変更すると
きっちり張り付くわけじゃないんですね たぶんlistboxのアイテムの高さの関係で制御してるんでしょうけど・・
- 339 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 10:02:47 ]
- 逆P/Invokeっていう冗談みたいなものがあったな
ildasmで逆コンパイルしてILを直接編集しろとか MS公式のドキュメントに普通に書いてあって目を疑った
|

|