トップページ⇒tech
1001コメント235KB

ふらっとVisual C#,C♯,C#(初心者用) Part103

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/03/06(水) 12:28:23.07
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。

なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part102
http://toro.2ch.net/test/read.cgi/tech/1360231775/

関連スレ
C#, C♯, C#相談室 Part78
http://toro.2ch.net/test/read.cgi/tech/1356268827/

コード貼るなら↓使ってください
http://ideone.com/
0153デフォルトの名無しさん2013/03/14(木) 12:10:31.34
object[]にすればいい。
0154デフォルトの名無しさん2013/03/14(木) 12:11:07.51
object型の配列に全部ぶち込む。
0155デフォルトの名無しさん2013/03/14(木) 12:17:27.17
こんな便利な型があったんですね
全部objectにします
どうもありがとうございます
0156デフォルトの名無しさん2013/03/14(木) 12:18:15.40
いやいやいやw
使い分けろよw
0157デフォルトの名無しさん2013/03/14(木) 12:18:47.85
PHPに慣れるとこのへんが慣れてなくてw
0158デフォルトの名無しさん2013/03/14(木) 12:24:47.20
>>152みたいな要求はすくなくともここ数年感じたことがないんだが
いったいどんなケースで必要なんだろう?
0159デフォルトの名無しさん2013/03/14(木) 12:30:18.48
クラスだって>>152から発展した概念にすぎないよ。
型の定義が面倒くさけりゃ、あらゆるケースで必要じゃん。
0160デフォルトの名無しさん2013/03/14(木) 12:31:13.96
LLやれば分かるよ
LLやってるのに分からないなら、それはとても健全な証なのでそのままでいた方が幸せ
0161デフォルトの名無しさん2013/03/14(木) 12:57:02.10
C#は「数値型」を作って欲しかった
なんでINT32やSingleがただの構造体なんだよ
0162デフォルトの名無しさん2013/03/14(木) 14:10:44.12
>>161
つまりInt32は数値型じゃないと?
「数値型」の定義を教えてくれないか?
0163デフォルトの名無しさん2013/03/14(木) 14:38:01.60
LLなあなたにはobjectよりdynamic
0164デフォルトの名無しさん2013/03/14(木) 15:24:38.51
>>161
おれ専用数値型作ればいいだけじゃん。
01651612013/03/14(木) 16:04:28.07
>>162-164
わかってないな
ジェネリクス制約で「数値型」に限定したいのだよ
現状だと構造体でしか制限できない

  where T : struct

を

  where T : numeric
0166デフォルトの名無しさん2013/03/14(木) 16:36:18.37
>>161
0167デフォルトの名無しさん2013/03/14(木) 17:11:54.96
FileInfoを使わずにファイルサイズを取得する方法を教えてください。
0168デフォルトの名無しさん2013/03/14(木) 17:16:09.62
なんで使わないの?
0169デフォルトの名無しさん2013/03/14(木) 17:40:00.28
>>165
演算子がインターフェイスで表現できればそれもよかったかもね

>>167
FileInfoの中でやってることはFindFirstFileだよ
シェルを介しても取得できなくはないけど、最終的にはFindFirstFileが呼ばれるんじゃないかなぁ
0170デフォルトの名無しさん2013/03/14(木) 18:12:08.34
すいません、失礼します。
webbrowserで「新しいウィンドウ」を開くため、
//main.tinyjoker.net/Tech/CSharp/WebBrowser%A5%B3%A5%F3%A5%C8%A5%ED%A1%BC%A5%EB%A4%CBNewWindow2%A5%A4%A5%D9%A5%F3%A5%C8%A4%F2%BC%C2%C1%F5%A4%B9%A4%EB.html#d8a1a130
のサイトを参考にして作ったのですが、 昨日、動作しなくなりました。
何か更新きたのでしょうか?
また、別の方法はあるのでしょうか?
宜しくお願い致します。
0171デフォルトの名無しさん2013/03/14(木) 18:16:23.84
プロジェクト新規で作りなおして何度もやってみそ
0172デフォルトの名無しさん2013/03/14(木) 21:57:33.30
デザイナでコントロールをダブルクリックするとコントロールに応じたコードが追加されるけど、これ無効にできないかな
邪魔
0173デフォルトの名無しさん2013/03/14(木) 22:36:15.64
ダブルクリックなんかしなきゃいいだけだろ。
アル中か何かで意思に反してダブルクリックしちゃうとかでなければw
0174デフォルトの名無しさん2013/03/14(木) 23:26:32.10
経験上DataSetデザイナーはよく誤爆する
0175デフォルトの名無しさん2013/03/15(金) 02:11:53.39
DataSet、久しぶりにその言葉を聞いたわ
0176デフォルトの名無しさん2013/03/15(金) 06:53:19.43
ボタンをポトペタすると高確率でサイズ極小になる
0177デフォルトの名無しさん2013/03/16(土) 01:44:23.63
ListBoxにある項目をダブルクリックすることで、対応するListViewとTextBoxの組のボックスを出したいんですけど、

イメージとしてはこんなかんじです。
http://i.imgur.com/4yyX7vi.png

- 赤のボックスが出ている状態で、ListBoxにある他の項目をダブルクリックしたら別のそれに対応したボックスが出る
- 薄い青枠内で左右スクロールができる

のようなことを実現したいのですが、何を使えばよいのかさえ皆目検討つきません…
どなたかお教えください。
0178デフォルトの名無しさん2013/03/16(土) 05:07:36.40
>>177
動的にコントロールを作成する場合、フォームデザイナは使えないので、
コントロールのデザイン含めてコードで書く必要がある

話を簡単にするため、ダブルクリックでテキストボックスだけを追加していく例をあげるなら
1. ListBox(ListBox1)とパネル(Panel1)をフォーム上に作成
2. ListBoxのダブルクリックイベントに以下を追加
TextBox textbox = new TextBox();
textbox.Multiline = true;
textbox.AutoSize = false;
textbox.Width = 100;
textbox.Dock = DockStyle.Left;
Panel1.Controls.Add(textbox);
textbox.BringToFront();
のような感じ

117の例の場合、動的に追加する要素部分はPanelから継承させたItemPanelみたいなクラスをあらかじめ用意しておいて、
ダブルクリック処理ではそのクラスを追加するのがいいと思う
ItemPanelのコンストラクタでは自身のパネル上にListViewとTextBoxを追加して適切に配置するプログラムコードを記述することになる
0179デフォルトの名無しさん2013/03/16(土) 06:24:38.22
>>178
それで理解できるなら>>177みたいな質問しね−よカス
0180デフォルトの名無しさん2013/03/16(土) 12:29:30.98
やっぱりVC#でデザイナーで部品を置いていくような作り方はやめたほうがいいですか?
0181デフォルトの名無しさん2013/03/16(土) 12:34:11.72
逆に何の目的があってデザイナーを使わないのか
WPFならともかく
0182デフォルトの名無しさん2013/03/16(土) 12:37:03.79
普通にデザイナで作って表示を制御すればいい
0183デフォルトの名無しさん2013/03/16(土) 13:28:34.78
デザイナが吐くコードの方が高速だしね
0184デフォルトの名無しさん2013/03/16(土) 13:29:26.27
何故デザイなのコードのほうが高速なんでうsか?
0185デフォルトの名無しさん2013/03/16(土) 13:35:11.46
可読性を捨ててるから
0186デフォルトの名無しさん2013/03/16(土) 14:25:18.72
デザイン時にレイアウトをシリアライズし実行時にデシリアライズするから動的なレイアウト生成より軽い
具体的にはBeginInitでDockやAnchorと言ったレイアウト調整を省略する代わりに
デザイン時に得られたロケーションやサイズを設定してやる
PerformLayoutで最終調整しEndInitでレイアウトエンジンを有効化

という建前だけど実際どうなのかは知らない
0187デフォルトの名無しさん2013/03/16(土) 15:54:32.24
ということは、なるべくデザイナーで配置していって、プロパティも右下のところで設定していったほうがよさそうですね
いつも、最初から作り直すためにForm_loadのところでプロパティの変更してました
0188デフォルトの名無しさん2013/03/16(土) 16:55:37.69
おい、スレ立てるまでもない質問はここでスレ落ちてるから立てて
0189デフォルトの名無しさん2013/03/16(土) 17:56:21.88
HSPスレで聞いたのですがC#でゲーム作る場合ってマルチプラットフォームで動かすのはどうやるのでしょうか?
0190デフォルトの名無しさん2013/03/16(土) 18:03:31.63
>>189
XNA Frameworkのことかな?
マルチプラットフォームといってもWindowsとxbox360くらい。
アップデートはもう終わってて新バージョンは出ない。
0191デフォルトの名無しさん2013/03/16(土) 18:03:46.22
HSPスレで聞けばいいじゃない

まあC#ゲームをファミコンで動かす方法は知らないなぁ
0192デフォルトの名無しさん2013/03/16(土) 18:03:55.74
ゲーム製作の話題はゲーム製作技術板へ
0193デフォルトの名無しさん2013/03/16(土) 18:20:29.80
C#はVita開発でも使っていてソニーがSDK配っているよね
でもC#がマルチプラットフォームと言うのには違和感あるw
0194デフォルトの名無しさん2013/03/16(土) 18:47:08.43
これです
http://toro.2ch.net/test/read.cgi/tech/1363109770/22
0195デフォルトの名無しさん2013/03/16(土) 19:01:29.34
monoだな
0196デフォルトの名無しさん2013/03/16(土) 21:28:07.99
>>178
ありがとうございます。良い感じにできました。
0197デフォルトの名無しさん2013/03/16(土) 21:37:59.00
c#にてwebkit.netブラウザ取り付けたのですがJavaScriptを使おうとしてもAjaxが使えません…
Getでのリクエストが不安定でNETWORK_ERROR: XMLHttpRequest Exception 101が度々出てしまいます…
別ドメインからのXmlHttpRequestだからだとは思うのですがwebkit.net自体に回避策はないのでしょうか?
0198デフォルトの名無しさん2013/03/16(土) 21:51:12.19
アプリを画面部分とロジック部分に分けて、
monoを使ったLinux向けと、Visual C#を使ったWindows向けの
同時開発をしたいんですけど、Visual Studio 2012 Expressで
できますか?
0199デフォルトの名無しさん2013/03/16(土) 21:54:24.18
VSでMono使うのは無理
0200デフォルトの名無しさん2013/03/16(土) 21:55:04.06
ありがとう
0201デフォルトの名無しさん2013/03/16(土) 22:26:21.96
相対位置でコントロールを配置することってできますか?
このコントロールはcontrolの下、みたいな感じで…
0202デフォルトの名無しさん2013/03/16(土) 22:33:20.04
>>201
出来るよそういうメソッドを自分で書けば。
当たり前じゃないか。
0203デフォルトの名無しさん2013/03/16(土) 22:37:56.69
例えばAndroidのようなものはないよ
デフォルトではコンテナに対しての相対位置しかない
0204デフォルトの名無しさん2013/03/16(土) 23:39:14.19
WPF
0205デフォルトの名無しさん2013/03/17(日) 00:19:32.29
例外を出したアプリケーションは必ず止まるんですかね?

何か不具合があったらコードを99にして保存してくれと言われたんで
何か開発中に拾えなかった例外も99で保存しようと思ったんですが、
それだと、あらゆるところをcatch(Exception)でくくっておくしかないのか?
0206デフォルトの名無しさん2013/03/17(日) 00:43:31.03
.Net自体のソースコードは公開されてますか?
0207デフォルトの名無しさん2013/03/17(日) 00:49:42.63
>>205
例外の伝播でぐぐれ
0208デフォルトの名無しさん2013/03/17(日) 00:55:05.30
>>206
どうぞ
http://referencesource.microsoft.com/netframework.aspx
0209デフォルトの名無しさん2013/03/17(日) 00:57:43.32
>>205
AppDomain.UnhandledExceptionってのがあって
0210デフォルトの名無しさん2013/03/17(日) 01:24:10.41
質問です。
Formを継承したとあるクラスのKeyDownのイベントが呼ばれないです。
イベントハンドラは登録されています。KeyPreview=trueにもなっています。
フォーカスが来ていないのではないかという意見を過去スレでも見たのですが、フォーカスをコードで与えてみても呼ばれませんでした。
その他に考えられる原因としては、WPF相互運用のElementHostがフォームにFillで貼り付けられているのですが、これが原因でしょうか?
0211デフォルトの名無しさん2013/03/17(日) 01:26:25.62
コードで与えたあと、本当にフォーカスが得られているか確認したか?
0212デフォルトの名無しさん2013/03/17(日) 01:29:57.04
>>207
>>209
ありがとうございました。
0213デフォルトの名無しさん2013/03/17(日) 01:47:55.76
プログラミングスレ
http://hayabusa.2ch.net/test/read.cgi/news4vip/1363452391/
0214デフォルトの名無しさん2013/03/17(日) 04:51:51.16
>>210
拾えないキーもあるからな
本当にイベントが呼ばれていないのか、よばれても正しい処理が出来ていないから流れているだけなのかきちんと確認したか?
0215デフォルトの名無しさん2013/03/17(日) 04:56:31.26
継承してごにょにょやってるくらいならどっかでメッセージ殺してる可能性もあるわな
まあゴミクズの書くコードなんて想定できる原因が多すぎてコードでも張らなきゃ答えられんわ
0216デフォルトの名無しさん2013/03/17(日) 06:41:22.62
答えてんじゃん
0217デフォルトの名無しさん2013/03/17(日) 06:57:41.30
解らないなら無理して答えなくて良いのに
0218デフォルトの名無しさん2013/03/17(日) 10:18:03.19
>>210
Show()のあとにApplication.Run(form);
をすればいいよ
0219デフォルトの名無しさん2013/03/17(日) 15:46:33.29
ゆとり言語C#
0220デフォルトの名無しさん2013/03/17(日) 19:12:30.96
ポインタが見事に隠ぺいされちゃってるもんだからね
0221デフォルトの名無しさん2013/03/17(日) 19:29:47.37
ポインタが扱えないものは全てゆとり言語なの?
0222デフォルトの名無しさん2013/03/17(日) 19:41:16.54
C#はポインタ使えるで
限定的だけど
0223デフォルトの名無しさん2013/03/17(日) 19:42:28.41
いーじゃねーか。ゆとりでも使える言語って。素晴らしくね?

で、いにしえより伝わる例の言葉を。
「ゆとりってゆーやつがゆとりなんだ。ばーか。」
0224デフォルトの名無しさん2013/03/17(日) 19:47:40.40
馬鹿でも使えるって素晴らしいことだよな
カメラなんて持て囃されたろ

困るのは仕事がなくなる奴だけ
0225デフォルトの名無しさん2013/03/17(日) 19:54:21.16
オートマしか運転できないアホとおんなじや
0226デフォルトの名無しさん2013/03/17(日) 20:03:36.10
と、いつまでも大先生でいたいマヌケが何か申しております
0227デフォルトの名無しさん2013/03/17(日) 20:03:45.18
現実ではマニュアルが必要なのは
一部のカーオタと土方のみという

現実でむき出しのポインタが必要なのは
一部のプログラミングオタと土方のみという

たしかに秀逸なメタファーだな
0228デフォルトの名無しさん2013/03/17(日) 20:03:49.31
馬鹿でも使えるから馬鹿のままでいいと思ってる馬鹿は問題
0229デフォルトの名無しさん2013/03/17(日) 20:06:50.64
と、いつまでも大先生でいたいマヌケが何か申しております
0230デフォルトの名無しさん2013/03/17(日) 20:08:56.97
ポインタがないからC#では実現できないアルゴリズムとかあるの?
0231デフォルトの名無しさん2013/03/17(日) 20:11:13.58
優秀なプログラマがやりたいことをその言語でコーディングできないのがドカタ用言語
0232デフォルトの名無しさん2013/03/17(日) 20:16:55.90
>>230
アルゴリズムのレベルでは存在しないでしょ

つーかunsafeあるし
0233デフォルトの名無しさん2013/03/17(日) 20:29:29.58
車好きがオートマしか運転できないw
0234デフォルトの名無しさん2013/03/17(日) 20:43:00.08
以前はF1もオートマだったけどな
0235デフォルトの名無しさん2013/03/17(日) 20:44:49.21
車好き = 言語好き

車のエアロパーツ(笑)つけたりカスタマイズして喜ぶ人 = 俺言語仕様を妄想したり言語仕様への不満を無駄にカキコしたりする人
0236デフォルトの名無しさん2013/03/17(日) 20:50:44.33
ポインタの主用途って可変長配列と参照渡しと不具合の作り込みだっけ
最後のはC#では難しいな
0237デフォルトの名無しさん2013/03/17(日) 20:56:50.43
昔はみんなアセンブラやCでゴリゴリ書いてたのに
池沼でも理解できるように設計された言語使って俺スゲエとか威張ってんだぜw
パネェw
0238デフォルトの名無しさん2013/03/17(日) 21:21:08.38
今は池沼やゆとりでも簡単に書ける程度のプログラムを
昔の奴らは必死こいてゴリゴリ書いて作って俺スゲエとか威張ってたんだぜ
0239デフォルトの名無しさん2013/03/17(日) 21:23:11.67
じゃあお前は池沼と認めるんだね
0240デフォルトの名無しさん2013/03/17(日) 21:28:49.77
頭悪い話が続いてるけど、ディスクリート(意味わからなければググれ)で
今時のコンピュータは作れない。

ソフトウェアも同じこと。
0241デフォルトの名無しさん2013/03/17(日) 21:39:59.45
頭悪いのはお前
表面的な理解では薄っぺらいものしか作れない
0242デフォルトの名無しさん2013/03/17(日) 22:47:41.67
だから。ばかってゆーやつが(ry
いい加減学習しろよ。語彙が少ないことを自分で宣伝してどうするんだ。
0243デフォルトの名無しさん2013/03/17(日) 22:57:25.09
自分用のものを作るだけだからC#でも十分
0244デフォルトの名無しさん2013/03/17(日) 23:36:13.40
そりゃ馬鹿が大量に増えたわけだから
馬鹿にも作れるような環境を整備したと、それがC#
0245デフォルトの名無しさん2013/03/17(日) 23:41:20.71
ポインタない、メモリ管理自動楽だ楽だ言うてる奴が一番バグを仕込ませてる件
0246デフォルトの名無しさん2013/03/17(日) 23:59:08.16
中途半端にメモリ管理されてる分、手動で開放する必要がある場所を探すのに苦労する
0247デフォルトの名無しさん2013/03/18(月) 00:11:02.82
>>230
ダブルポインタ(笑)がないと二進木が実装できないって、主張してるうんこがいる。
0248デフォルトの名無しさん2013/03/18(月) 02:32:57.14
そういうのって自分の能力のなさの主張でしかないけど
中卒を公然と晒してるようなもんで何が楽しいのかね
0249デフォルトの名無しさん2013/03/18(月) 06:35:44.70
結構いい流れだったのに>>219あたりから始まったキチガイの自作自演で
簡単に荒れるのなおまえら
0250デフォルトの名無しさん2013/03/18(月) 16:02:10.78
だってC#ごとき出来るからって威張るんだもん
0251デフォルトの名無しさん2013/03/18(月) 17:05:57.47
より正確にはC#ができるくらいで威張るなと威張って言う奴が居る
0252デフォルトの名無しさん2013/03/18(月) 17:24:25.81
再帰的だな
■ このスレッドは過去ログ倉庫に格納されています