- 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/
- 281 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 21:57:39 ]
- VSってエクスプレスエディションしか使ったことがないんですが
有料のバージョンにすれば、エクリプスのようにリファクタリングの機能が増えますか?
- 282 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:07:28 ]
- エクリプスつかったことないからわからん
- 283 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:10:32 ]
- リファクタリングできるけど Eclipse 程多機能ではない。
名前の変更とかメソッドシグネチャの変更とかインターフェイスの抽出とかは余裕でできる。
- 284 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:12:46 ]
- 有料のバージョンだと何か良いことあるの?(´・ω・`)
- 285 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:15:02 ]
- 難読化できる→モバイル開発できる→テスト環境がうんぬん
- 286 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:17:14 ]
- 2010のテストツールは結構面白い
- 287 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:17:34 ]
- 有料版はプラグインが使用できる
リファクタリングできる モバイル開発ができる Office 開発ができる 統合された単体テストができる などなど
- 288 名前:デフォルトの名無しさん [2010/01/14(木) 22:24:50 ]
- オレの場合、standerdだとプラグインでankSVNが使えるのが大きい
やっちまったときに戻せるからね Blend 2の付録として手に入れたけど、合計15000円程度と安かったし
- 289 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:29:39 ]
- >>281
C#はそれなり。VBは名前の変更くらい。
- 290 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:30:37 ]
- >>283
どもです。
- 291 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:43:23 ]
- Eclipseは機能試してるだけで2日くらい経過した記憶がある
- 292 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:47:59 ]
- >>288
そうなんだよな。 EEだとIDEからバージョン管理出来ないから結構さぼりがちになっちゃう。
- 293 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:19:52 ]
- ロジクールの10ボタンマウスとかあるが
Formのマウスクリックイベントとかで特殊ボタンの検出ってできるの? どうやればできる?
- 294 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:28:52 ]
- >>293
MouseEventArgsだと5ボタンまでだもんなぁ。 .NETじゃ無理なんじゃない?
- 295 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:39:04 ]
- >>293
どうせマウスのユーリティーでホットキーや特定のプログラムをショートカットで起動するのに割り当てたりするから、 純粋なマウス入力として使う事自体があまりないよ。 マウスホイールを回した時と、ホイールクリックに反応できれば十分。
- 296 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:45:16 ]
- そもそもマウスドライバレベルで他の動作に置き換えられるんじゃないかなぁ…
可能性があるとしたらDirectInput?
- 297 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:51:40 ]
- 俺がマウスの設計者なら、単純にキーボードとマウスの複合デバイスにするけどね。
そうなら余分なキーは、キーイベントで拾えるんじゃないのか。
- 298 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:54:37 ]
- Listview内にdouble型の数値ばかりが入った列があります。
これをソートしたいのですが、どうすれば良いでしょうか? ttp://dobon.net/vb/dotnet/control/lvitemsort.html の下のほうにある部分を参考にしたのですが case ComparerMode.Integer: result = int.Parse(itemx.SubItems[_column].Text) - int.Parse(itemy.SubItems[_column].Text); break; でエラーが出ます。
- 299 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:57:53 ]
- エラーが出ます、で思考停止せずにエラーの内容ぐらい読もうぜ
取り敢えずなんでdoubleが入ってるのにintでParseしてるんだ?
- 300 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:01:17 ]
- そんな物つかうソフトを誰が使う?
- 301 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:02:49 ]
- >>298
ソートしたいんだったらArray.Sort使ったら?
- 302 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:03:49 ]
- C#で、フォームでクリックしたらとかフォームでEnterキーが押されたら
とかあるけど ディスプレイのフォーム以外の場所でもクリックしたら〜とかってUse32.dll使用なしでできる?
- 303 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:04:39 ]
- >>299
入力文字列の形式が正しくありません ってエラーでで当然なんですが、とりあえず Doubleで比較したい場合はどういう記述をすればよいでしょうか?
- 304 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:06:27 ]
- 本当に分からんのか?
- 305 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:06:29 ]
- >>301
ListViewのソートなんだから迂遠だろそれ >>302 無関係なところのクリックとなるとマネージじゃ無理だな WH_MOUSE_LLとかRawInputとかDirectInput使う必要がある
- 306 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:08:46 ]
- 変数名を動的につけることはできますか?
例えば1_1.csv 1_2.csv … n_n.csv内のデータを読み込み、それぞれ配列に収めたいとき、 配列名をarray1_1 array1_2 …といったふうに付けていきたい。という要望です
- 307 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:11:29 ]
- //文字列をdouble型に変換
double d = double.Parse("100.1");
- 308 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:11:58 ]
- >>306
その動的につけた変数名の変数、 いったいどうやって使うおつもり?w
- 309 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:14:34 ]
- >>306
配列に配列を入れていけばいいんだよ
- 310 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:15:47 ]
- ジャグ配列
- 311 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:16:20 ]
- >>308
そうか!… >>309 なるほど、そうします。
- 312 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:17:46 ]
- >>306
そんなことする必要全く無いじゃないか。 ファイル名と付属データをペアリングしたstructを用意して、DirectoryかListに放りこめば十分。
- 313 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:18:07 ]
- >>304
ttp://dobon.net/vb/dotnet/control/lvitemsort.html を見てもらったらわかると思うんですが resultがint型なんで最終的にどうすればよいか わからないんです・・・。
- 314 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:19:55 ]
- >>313
なんでやねん if double.parse(x) > double.parse(y) { result 1; } else if () { resule -1; } とかしていけばええやん
- 315 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:23:02 ]
- >>313,314
>ListViewのListViewItemSorterプロパティに、並べ方を定義したIComparerインターフェイスを実装したクラスのインスタンスを設定します。 なお、IComparerによる並び替えについては、「コレクション(または配列)内の要素を方法を指定して並び替える(または検索する)」でも説明しています。 って書いてるじゃねーか。
- 316 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:29:41 ]
- やめろ
初心者なんだからお前らが想像も付かない所で躓いてるもんなんだよ マウスを動かすと机から落ちてしまいます みたいな
- 317 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:36:10 ]
- Double.CompareTo()でいいだろ。
- 318 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 01:15:41 ]
- 全部教えるとそいつはそれ以上育たなくなる、自分で考えないとってテレビで農家のおじさんが言ってたよ
- 319 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 01:17:15 ]
- 農業界なんて先細り真っ只中だから
そういう考え方はハズレだったのだろうな
- 320 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 02:11:03 ]
- C#でDLLの作成をしようと試みています。
DLLはアプリケーションのプラグインで、プラグインは本体から登録された各dllに対し、 グローバル関数が呼ばれるような仕様になっているのですが、 (例えばplugin.dllのInit()を呼び出す、といったような形になっている) C#はグローバル関数をサポートしていないため、どのように受ければよいのかが分かりません。 C#のみでこのような呼び出しに対応する方法はあるでしょうか。それともラッパーをC++等の他の言語で書いて、 経由するしかないでしょうか。
- 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公式のドキュメントに普通に書いてあって目を疑った
|

|