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

このエントリーをはてなブックマークに追加
233デフォルトの名無しさん
そのToolStripMenuItem継承クラスを作るメソッドと
それに渡すデータクラスを作って
そのデータクラスをシリアライズしたら?
234デフォルトの名無しさん:2012/03/08(木) 15:13:48.74
仮想マシン上でvs評価版を入れる
あいてるHDD上に専用環境を作って評価版を入れる
235デフォルトの名無しさん:2012/03/08(木) 15:36:18.80
ふーん
236226:2012/03/08(木) 16:48:17.34
VisualStudio EEからF5でnunitを起動するのがうまくいかない
nunit.exe $(TargetPath)で起動してるんだが
MyProjectプロジェクトとTestProjectプロジェクトの2つがあった場合
$(TargetPath)が必ずテストのTestProjectの方でなく本体のMyProjectになってしまう
でnunitにテストコードがないって怒られる。
これどうやったらTestProjectの方のビルド物の名前を取得できますか?
237デフォルトの名無しさん:2012/03/08(木) 17:10:12.13
>>233
ToolStripMenuItemを継承しないクラスBを作って保存
保存したものを復旧する際には
a.text = b.textとメンバーに値を入れていくことにしました
233さんの言うことも同じ事ですよね?
ありがとうございました
238デフォルトの名無しさん:2012/03/08(木) 18:51:03.12
int a, b, c, d;
int ee = Math.Floor(a / b) - Math.Floor(c / d);

エラー CS0121: 次のメソッドまたはプロパティ間で呼び出しが不適切です: 'System.Math.Floor(decimal)' と 'System.Math.Floor(double)'

どうやって書けばいいん?
239デフォルトの名無しさん:2012/03/08(木) 18:55:43.11
そもそも整数同士の除算だと結果も整数なのでFloorする意味がないんだが
240デフォルトの名無しさん:2012/03/08(木) 18:58:47.47
double a, b, c, d;
int ee = (int)(Math.Floor(a / b) - Math.Floor(c / d));

Math.Floorがdoubleかdecimalしか指定できないところにintを指定したから
241デフォルトの名無しさん:2012/03/08(木) 19:00:00.85
あの、Uの半角ってどうやって打つんですか?
KANAキーロック状態でシフト+ろ だと、ろになるんですが

しょうもないことですみません。
242デフォルトの名無しさん:2012/03/08(木) 19:01:33.55
結果を受け取る配列を渡す時にoutキーワードってつけてる?
なくても全然OKだけど結果を受け取るのがはっきりするから付けてたけど
つけるなと言われて困ってる
243デフォルトの名無しさん:2012/03/08(木) 19:02:03.19
え。そしたら

int a, b, c, d;
int ee = (a / b) - (c / d);
で 欲しい結果が得られるってこと?

逆に
double ff = (a / b) - (c / d);
でも ff==ee になっちゃうってこと? (いや、これは試してみればわかりますね・・
244デフォルトの名無しさん:2012/03/08(木) 19:05:44.14
引数で配列渡して結果をもらう場合
outをつけないと可変長にできないだろ
逆にその必要が無ければ無駄には違いない
245デフォルトの名無しさん:2012/03/08(木) 19:14:50.00
246デフォルトの名無しさん:2012/03/08(木) 19:17:29.79
>>241
たてぼう で変換でもしたらどうだ

>>242
[Out]属性は何となく付ける outにはしない
247デフォルトの名無しさん:2012/03/08(木) 19:20:17.05
>>246
それが、全角しか出ず

文字 'U' は予期されていません。

となります。

IMEじゃ半角は出せないんでしょうか
248デフォルトの名無しさん:2012/03/08(木) 19:22:31.75
その話し続けたければIMEのスレ行ってよ
249デフォルトの名無しさん:2012/03/08(木) 19:24:15.40
IMEのほういってきます、失礼しました。
250デフォルトの名無しさん:2012/03/08(木) 19:28:44.05
|c2a6か
sjisにねーな。なんて読むんだろう。
251デフォルトの名無しさん:2012/03/08(木) 19:51:46.46
>>242
それ、用途違う。
配列の参照自体を書き換えないんだったら、out つけたら余計混乱招く。

参照型の中身を破壊的に変更する場合のマーキングが欲しいってのはすごく思うけども。
252デフォルトの名無しさん:2012/03/08(木) 19:58:33.70
>>243
int a = 2, b = 3;だと
a / b==0
(double)a / (double)b==0.66666666666666663

double a = 2, b = 3;だと
a / b==0.66666666666666663
(int)a / (int)b==0
よく分からなかったら1行に割り算1つだけ、キャストだけ、Floorだけにしてブレイクポイント使って中身確かめろ
253デフォルトの名無しさん:2012/03/08(木) 20:44:41.09
¦ってVS2008 SP1に対応してないんですかね?

かんたんC#って参考書ではVS2008 SP1が使われてて、それのサンプルコードで¦が使われてるのですが
実行結果とコード貼ったほうがいいですかね
254デフォルトの名無しさん:2012/03/08(木) 20:46:05.44
>>253
はらんでいい
| の誤植だろ
255デフォルトの名無しさん:2012/03/08(木) 20:47:04.20
!とかいわないよな
256デフォルトの名無しさん:2012/03/08(木) 20:47:15.86
>>254
解決しました、1時間以上詰んでたので助かります。
257デフォルトの名無しさん:2012/03/08(木) 20:48:54.21
>>253
もしかして
Visual C#でカンタンはじめて学ぶプログラミング
かな?

何ページ目?
258デフォルトの名無しさん:2012/03/08(木) 20:51:20.93
こっちか
http://www.amazon.co.jp/dp/4774142344

これだから本嫌いなんだよな
誤植あってもただちに反映されないし
259デフォルトの名無しさん:2012/03/08(木) 20:53:51.24
印刷でかすれただけじゃね?
260デフォルトの名無しさん:2012/03/08(木) 20:57:04.43
印刷業界の依存文字だと思ってた
261デフォルトの名無しさん:2012/03/08(木) 21:03:29.76
>>258
それです、112ページ目のサンプルコードがどう見てもUです。
262デフォルトの名無しさん:2012/03/08(木) 21:06:07.05
誤植でも何でもないよそんなの。
ただの字形の違い。誰でも当然常識として知ってなきゃおかしい範囲。

こういう人ってバックスラッシュとかでも大騒ぎするのかなw
263デフォルトの名無しさん:2012/03/08(木) 21:13:26.83
せやな
264デフォルトの名無しさん:2012/03/08(木) 21:22:52.30
バックスラッシュは割りとどうでもいいが
記載されたコードがスラッシュドゼロになってない本は買えない
買いたくない
265デフォルトの名無しさん:2012/03/08(木) 22:35:12.07
>>263
せやせや
266デフォルトの名無しさん:2012/03/09(金) 00:59:23.22
PrintOut( from : 開始ページ, to: 終了ページ )
のような既存の API を
[<開始ページ>]-[<終了ページ>]
のような文字列の指定を解釈して呼び出す処理をスマートに書くにはどう書けばいいでしょうか。
問題は、片方の値が省略されていた場合で、 int に null は入れられないので、
-1 を使って、

if ( (startpage == -1) && (endpage != -1) ) {
PrintOut( to: endpage );
else if ((startpage != -1) && (endpage == -1) ) {
PrintOut( from: startpage );
else if ((startpage != -1) && (endpage != -1) ) {
PrintOut( from: startpage,to:endpage );
else {
PrintOut();
}

みたいなダサいコーディングしか思いつきません。
267デフォルトの名無しさん:2012/03/09(金) 01:01:55.05
FormアプリでDispatcherで赤波線がでます
名前空間何を入れるんですか?
確か数年前にやった時はこんな感じで別スレッドからフォームアイテムにアクセス出来たような記憶があるんですが
教えてください!

Thread work = new Thread( () =>
{
  this.Dispatcher.Invoke( new Action( () =>
  {
   textBox1.Text += "roop" + System.Environment.NewLine;
  } ) );
  }
} );
work.Start();
268デフォルトの名無しさん:2012/03/09(金) 01:14:37.67
>>266
int?型(nullableとかでググる)と、-1とかいう謎の番号を使うよりはすこしましになるかも。根本的な解決策は知らない。
269デフォルトの名無しさん:2012/03/09(金) 01:19:01.33
彼女を作るボタンを押しても
できませんでした
なぜですか?
270デフォルトの名無しさん:2012/03/09(金) 01:20:27.72
>>267
それWPF
BeginInvokeでググる
271デフォルトの名無しさん:2012/03/09(金) 01:21:04.96
彼女を作るボタンを押しても
できませんでした
なぜですか?
272209,213:2012/03/09(金) 02:49:10.12
>>209,213 です。 
VisualStudio2005 C# を使用してます
http://ideone.com/zntPW  (できるだけ最小限にしたコード)

やりたいこと:
クラスから別スレッドで処理した結果を受け取りコントロールに表示
  フォームから クラスaの関数bを呼ぶ
  クラスaの関数bで スレッドcを行う
  スレッドcの終了時に フォームの関数dを呼ぶ
  フォームの関数dで button1.text="e"; としたい。(スレッドcの結果を表示)

困っていること:
別スレッドからコントロールを操作するとエラーが出る

63行目のように 関数d を呼ぶ際に 元の基本スレッドで処理させるような方法はないでしょうか?
273デフォルトの名無しさん:2012/03/09(金) 02:56:18.79
274デフォルトの名無しさん:2012/03/09(金) 05:23:43.51
別スレッドからのコントロール操作って、実行時に結果が保証されないだけで
普通はエラーは吐かなかったと思ったのに...

とりあえずCheckForIllegalCrossThreadCallsをfalseにしたら別スレッドの呼び出しはチェックされないらしいぞ

ラムダ式とかLINQとか、大きな機能追加に目が行ってたけど、こんな細かい修正もされてたのね
275デフォルトの名無しさん:2012/03/09(金) 06:32:40.67
昔からデバッグビルドではデフォルトでControl.CheckForIllegalCrossThreadCalls = true;です
276デフォルトの名無しさん:2012/03/09(金) 07:58:08.73
少なくとも9年以上前からそういう設定のはず
277デフォルトの名無しさん:2012/03/09(金) 08:47:13.78
いや7年かな
2.0からのはずだし
278デフォルトの名無しさん:2012/03/09(金) 08:52:44.42
Uはそういうことか。もともと1だのlだとの見分けにくいからだっけ?
ちなみに 00A6のあとにF5で出るけどな。
279デフォルトの名無しさん:2012/03/09(金) 09:09:01.67
コナミコマンドのように00A6を素早く入力したあとF5キーを押しても変換されません!
280デフォルトの名無しさん:2012/03/09(金) 10:31:01.49
webページ上のテキストボックスに文字列をセットしたりボタンのクリックを行う
例えば、yahooのログインページを取得してIDとpassを入力してログインボタンを押す

このような処理を行うとき
webBrowserコントロールを使用して、テキストボックスやボタンのHtmlElementCollectionを得て処理を行うというのは解ったのですが
レイアウト上webページを表示するスペースが取れないのでできれば表示したくないので困っています

フォームのサイズを小さくしてvisibleプロパティをfalseに設定すれば、と考えたのですがちょっと力業なように感じています
他にもっと簡単な方法が有ったりするのでしょうか?
281デフォルトの名無しさん:2012/03/09(金) 10:52:52.64
レイアウトで配置しないでクラス上で直接作る
Form1.Controls.Addはしない
282デフォルトの名無しさん:2012/03/09(金) 13:21:43.75
>>281
フォームから以外にもコントロールを使用することが出来るんですね
ありがとうございました
283デフォルトの名無しさん:2012/03/09(金) 14:57:03.93
Datagridviewの一番下の列が表示された時の処理がしたいんだけどどうすればいいんですか

Scrollイベントを受け取っても、ScrollEventArgs.NewValueの最大値がわからんとどうしようも
284デフォルトの名無しさん:2012/03/09(金) 16:19:08.46
FirstDisplayedScrollingRowIndex DisplayedRowCount RowCount
285デフォルトの名無しさん:2012/03/09(金) 16:53:58.97
こうやって簡単に答えてみせているけど
このやり取りのなかで、3つの大きなポイントが存在するんだよね
1:DataGridViewのヘルプを全て読めば答えに辿り着いていた
2:調べ方を教えるべきだったか、答えを教えるべきだったか
3:DataGridViewのヘルプに答えが記載されているが、そこへ辿り着くまでにかかかるコストは適正なのか

んで、一旦話しを脱線させて、ニコニコ動画とシリーズ物のゲームの話しをしたい
ニコ動誕生前にもMADとかを作って公開する文化ってのは存在していたわけだけど
ニコ動誕生前と後では、コンテンツ作りの技術の進化スピードは比べものにならない
で、ゲームの話し
ゲーセンの音ゲーとか新作が出るたびに、ゲームの難易度がどんどん高くなっていく
初代(ナンバリング1)で最高難易度だったステージが、最新作(例えばナンバリング10)ではそうは感じなくなる
1が稼働していた時代にそれをクリア出来るものは英雄のように扱われていたが
10が稼働する今では初級者が簡単にクリアするようになっている
1が稼働して頃と10が稼働している今では、人類自体が進化したわけではない、初級者のスタートラインは一緒
なのに何故このような現象が生まれるのか

そして、話しを戻して
286デフォルトの名無しさん:2012/03/09(金) 17:05:05.88
死ね
287デフォルトの名無しさん:2012/03/09(金) 17:26:40.67
bool型の変数「e」を宣言してください。
初期値として、定数のtrueとfalseを使用した、論理AND演算子を
ショートサーキット評価で演算した結果で代入してください。

上記の問いに対して

答え
bool e = (true && false);

自分の答え
bool e = (false != true) && (true = true);

一応これでも正解になるのでしょうか?
288デフォルトの名無しさん:2012/03/09(金) 17:28:32.20
コンパイルも通らないんじゃ正解にはならんだろうな
289デフォルトの名無しさん:2012/03/09(金) 17:36:56.46
問題文作った奴国語力低いな
290デフォルトの名無しさん:2012/03/09(金) 17:40:01.07
ショートサーキットのくだりがその答えと繋がらなくてさっぱり
291デフォルトの名無しさん:2012/03/09(金) 18:02:49.56
そうですか、ありがとうございました。
292デフォルトの名無しさん:2012/03/09(金) 21:51:32.46
・なぜbool型なのに変数名がeなのか
・trueとfalseは定数ではないと思うがどうか
293デフォルトの名無しさん:2012/03/09(金) 21:54:38.14
あ、trueとfalseは定数っちゃ定数なのか
294デフォルトの名無しさん:2012/03/09(金) 22:11:06.68
変数eってExceptionとかEventArgsとかもろに被りそうだな
295デフォルトの名無しさん:2012/03/09(金) 23:18:51.72
新規プロジェクト→TabControl1配置、Dock=Fill、Tab3枚作成で
private void Form1_Load(object sender, EventArgs e){
 TreeView tv1 = new TreeView();
 TreeView tv2 = new TreeView();
 TreeView tv3 = new TreeView();
 tv1.Dock = DockStyle.Fill;
 tv2.Dock = DockStyle.Fill;
 tv3.Dock = DockStyle.Fill;
 this.tabPage1.Controls.Add(tv1);
 this.tabPage2.Controls.Add(tv2);
 this.tabPage3.Controls.Add(tv3);
}
としてもタブ内のTreeViewの枠線がそれぞれ統一されていない理由わかる?
TreeViewのTopもLeftもMarginも関係ないみたいだし
296デフォルトの名無しさん:2012/03/09(金) 23:27:41.28
Tab3のPaddingが0になってる
297デフォルトの名無しさん:2012/03/09(金) 23:43:47.10
コレクションエディターで追加するとデフォルトのタブとまったく同じものが追加という訳じゃなかったんですね
デザイン上でタブ切り替えつつ(tabControlの)プロパティ見て同じ値だと勘違いしてました ありがとうございます
298デフォルトの名無しさん:2012/03/09(金) 23:47:39.36
つーかデザイナーが追加するコントロールの細かい設定は
別ファイルに全部書いてあるだろ
別ファイルにかかれてないのは各コントロールのデフォルト値
かかれてるのがデザイナが追加した物だよ
299デフォルトの名無しさん:2012/03/10(土) 00:14:05.05
今回はまじめに2chがなくなるこおも考えておかないといけないみたいだけど
ここの代わりになりそうなところって他にある?
300デフォルトの名無しさん:2012/03/10(土) 00:35:03.02
したらば
301デフォルトの名無しさん:2012/03/10(土) 00:45:38.94
Formでキーボード入力を完全に制御するために
ProcessCmdKeyをオーバーライドしてるんですが,
KeyDownのイベントは取れるけどKeyUpのイベントが捕獲できません。
ProcessCmdKeyでKeyUpのイベントを取るのは不可能なのでしょうか。
302デフォルトの名無しさん:2012/03/10(土) 06:32:24.26
不可能
303デフォルトの名無しさん:2012/03/10(土) 08:07:30.44
なにこの糞スレ
素人が答えるスレ?
304デフォルトの名無しさん:2012/03/10(土) 09:18:06.93
不特定多数の人が作った「敵の動き」に番号をつけて
番号を指定すると、その動きになる。 みたいなことやりたいです。
本体リリース後、敵の動きだけ追加できる。 そんなイメージです。

「敵の動き」は指定した形式の(パラメータをもつ)クラス? 的なものにするとして、
番号指定でそのクラスを呼ぶ というところをどんな風にしたらいいのかヒントください。

クラス名が決定してないので switchでクラスを呼べないですし・・。
305デフォルトの名無しさん:2012/03/10(土) 09:19:03.57
ここでいいのか分かりませんが
Windowsのイベントアプリケーションやセキュリティみたいなくくりを
1つ作る方法があったら教えて下さい
アプリケーションログにeventcreateすると「ゴミ」だらけになってしまいます
306デフォルトの名無しさん:2012/03/10(土) 09:19:40.46
○Windowsのイベントログにアプリケーションやセキュリティみたいなくくりを
307デフォルトの名無しさん:2012/03/10(土) 09:21:27.35
Linuxならlogファイル1つ増やせば終わりなのに
どうしてこうなんだろう
ご協力お願いします
308デフォルトの名無しさん:2012/03/10(土) 09:24:44.48
日本語で大丈夫ですよ
309デフォルトの名無しさん:2012/03/10(土) 09:32:14.79
>>304
実装方法もいろいろあるしなあ
それにその敵クラスを利用するゲームエンジン側の実装でもいろいろ違うし

あと昔ながらのシューティングゲームレベルのオブジェクト数なのか
弾幕まで視野に入れるかで取る方法も変えたほうがいいだろうし
310デフォルトの名無しさん:2012/03/10(土) 10:55:50.96
昔某ゲーム機用にCで書いたゲームエンジンの
一部を再現してみたけど完璧な汎用性を持たせるのはお勧めしないなあ

http://ideone.com/ZOOJq


どうせパターンはそれほどないだろうからこういう行動パターンが欲しいと
なった場合は処理ロジックを実装してニューリビジョンとして配布するしか
ないような
311デフォルトの名無しさん:2012/03/10(土) 12:15:44.27
ttp://dobon.net/vb/dotnet/programing/plugin.html
こういうのを作ってとりあえず名前を登録してもらって、
リフレクションでオブジェクト取得ってできるのかな??

プラグインシステムは一回作ってみたいんだけど、手付かずだなぁ・・・。
312デフォルトの名無しさん:2012/03/10(土) 12:17:20.86
.NET3.5以降ならMEF一択
リフレクションとか自分で意識しなくても超簡単にやれる
313312:2012/03/10(土) 12:17:56.24
訂正
.NET4か
314デフォルトの名無しさん:2012/03/10(土) 12:20:22.91
>>311>>309あたりで使えるかもね〜

行動パターンを保持してる部分をプラグイン化して・・・
でも結局のところプラグインのビルドがいるんじゃないの?

自由度上げると処理効率上げるの大変になるよ
315デフォルトの名無しさん:2012/03/10(土) 12:25:25.07
プラグイン使えなかったら、外部スクリプトにキックする以外ある?Luaとかさ。
316デフォルトの名無しさん:2012/03/10(土) 12:27:19.31
柔軟性と処理効率は相反するから自分で悩んでくれ
こんなところで対応できるほど簡単じゃないしやってられん
317デフォルトの名無しさん:2012/03/10(土) 13:50:04.00
>>304 です
回答くれたみなさんありがとう。
こういうのをプラグインっていうんですね。言葉がわからず検索できないような状態でした。
>>311 がサンプルもあり役立ちそうな気がします。
また聞くかもしれませんがその時はよろしくお願いします。
318デフォルトの名無しさん:2012/03/10(土) 17:05:51.00
フォームにボタンを二つ置きます
ボタンを押すと10秒後にメッセージボックスが出ます
 0秒経過: まずボタン1を押します
 5秒経過: 後にボタン2を押します
10秒経過: ボタン1のメッセージボックスがでます
15秒経過: ボタン2のメッセージボックスがでます
こういうふうにしたいんですけどうまくいきません
319デフォルトの名無しさん:2012/03/10(土) 17:07:53.69
どういう風にうまくいかないの?
320デフォルトの名無しさん:2012/03/10(土) 17:10:05.41
ちょっといまどこにコードを書こうか迷ってて途中で送信してしまいました
いま検索してますのでコード挙げるまでいましばらくおまちください
321デフォルトの名無しさん:2012/03/10(土) 17:11:31.23
>>2のサイト使えよ
322デフォルトの名無しさん:2012/03/10(土) 17:20:18.87
>>318
ストップウオッチを複数使って経過をidleイベントで比較するのが楽な気がする。
323デフォルトの名無しさん:2012/03/10(土) 18:17:46.79
ボタンが任意個あるとかだったら面倒くさいな
324デフォルトの名無しさん:2012/03/10(土) 18:27:14.40
それ以前にメッセージボックスを告知に使うっていうのがなあ・・・
325デフォルトの名無しさん:2012/03/10(土) 18:44:35.18
>>323
そこはクラス化するとかで省力化してもらいたいところだね。
326デフォルトの名無しさん:2012/03/10(土) 21:18:22.71
あーメッセージボックスだしてモーダルになって困った、という質問なのか……
327デフォルトの名無しさん:2012/03/10(土) 21:50:40.71
毎度すみません、
C#で、"ABCD"という文字列を
0xAB、0xCDというバイト列に変換したいのですがどうやればよいのでしょうか。
328デフォルトの名無しさん:2012/03/10(土) 22:10:07.84
BitConverter.GetBytes(Convert.ToInt16("ABCD", 16))
329デフォルトの名無しさん:2012/03/10(土) 22:17:43.75
Javaも勉強してるけど苦痛
よくあんなの使ってコード書けるよな
C#最高だわ
330デフォルトの名無しさん:2012/03/10(土) 23:10:37.13
C#最大のリスクは
素晴らしすぎて他の言語を触る気が失せること
331デフォルトの名無しさん:2012/03/10(土) 23:30:20.13
javaとC#ってなにが違うの?
332デフォルトの名無しさん:2012/03/10(土) 23:34:58.42
一人で言語の仕様を決めているか、複数人で決めているか、の違い
10年前に全人類はこんな幻想を抱いていた「一人で考えるより、みんなで考えた方が上手くいく」
実際はみんなで考えると辻褄が合わないし、何も決断されない、ってことを全人類が学んだ
ここ10年の尊い犠牲と恩恵
333デフォルトの名無しさん:2012/03/10(土) 23:35:40.93
船頭多すぎなところ
334デフォルトの名無しさん:2012/03/10(土) 23:35:59.46
おっと
335デフォルトの名無しさん:2012/03/10(土) 23:43:56.16
>>332
言いたいことは分からんでもないけど実際はC#の仕様だって1人で全部決めてるわけじゃ
恐らくないだろうからちょっと違う。

正確に言うと意思決定が民主主義的な対等な人の集まりで行われるか、軍隊みたいな
ヒエラルキーの元で行われるかの違いだね。
336デフォルトの名無しさん:2012/03/10(土) 23:58:24.16
最後の3年(2007〜)はASFとケンカしたのが良くなかったけどね
ASFのHarmonyに互換性テストのライセンス提供するのを拒んだせいで
「やっぱりオラクルが好き放題するのか、な〜んだ」って完全なケチが付いた
JCF脱退騒ぎになり、オラクルが懐柔でライセンス提供したけどASFに拒否される始末

その後なりふり構わなくなり、HarmonyベースのDalvikVMに特許訴訟起こしたのは記憶に新しい
こっちはJavaMEの収入が無くなりそうだからって理由もあるが
337デフォルトの名無しさん:2012/03/11(日) 00:06:28.97
C#の勉強してるとJavaを忘れる
Javaの勉強を再開するとC#を忘れる
このループで3年目
338デフォルトの名無しさん:2012/03/11(日) 00:07:48.30
菊正宗か
339デフォルトの名無しさん:2012/03/11(日) 00:29:22.69
perlやcobolやc++が入ってこないだけ幸せ。
340デフォルトの名無しさん:2012/03/11(日) 00:45:17.39
少し本格的なことをしようとすると結局API使うのが難点のど飴
341デフォルトの名無しさん:2012/03/11(日) 00:51:35.55
泥臭いことはC++先輩にお任せ♪
得意分野の分業でWin-Win♪
342デフォルトの名無しさん:2012/03/11(日) 01:17:40.66
>>340
"C#"の問題ではないけどね、という揚げ足取り
343デフォルトの名無しさん:2012/03/11(日) 01:20:53.52
C#だけで同じ機能ができないことが問題か不便か
344デフォルトの名無しさん:2012/03/11(日) 02:12:11.74
責任をライブラリに求めるか言語に求めるかは微妙なところ

でも後者なら、Compatibleな言語なんて上位互換でなければ存在しないに等しい
345デフォルトの名無しさん:2012/03/11(日) 02:22:43.23
>>336
JCFってなんだ?と思ってググったが、いろんなJCFがあってさっぱわからんw
346デフォルトの名無しさん:2012/03/11(日) 02:28:20.68
たぶんJCPの間違いと思われる
Java Community Process
347デフォルトの名無しさん:2012/03/11(日) 02:33:16.30
SendInputとか一向に使えるようにならないし何なのかねえ
348デフォルトの名無しさん:2012/03/11(日) 02:40:39.70
トロイとかスパイウェアが使うような機能は使うなということだ。
349デフォルトの名無しさん:2012/03/11(日) 02:43:40.24
ウィルスのために制限しているならもっと優先されるべき部分があるだろw
350デフォルトの名無しさん:2012/03/11(日) 02:49:32.60
>>336の経緯

Javaの仕様は現オラクルが所有する特許を含んでるよ。
でもTCKをパスできれば特許を使っていいよ。OpenJDKにはTCKを提供してあげるね。
だけどOpenJDKのソース(GPLv2)を第三者が改変した場合はTCKあげないよ。特許も許諾しないよ。
当然だけどOpenJDKのソースを使わずに自分で実装しても、仕様上の特許は回避できないから潔く死んでね(Harmonyがされたこと)
351デフォルトの名無しさん:2012/03/11(日) 03:00:28.87
昨日ソフトウェア板で、タイムリーにGPLと特許の話を見た
ffmpegの話で、あるソフトウェアがオープンソースでも、それを自由に利用できるわけじゃないと
だからGPLv3には特許供与条項が追加されたんだなと理解できた
352デフォルトの名無しさん:2012/03/11(日) 03:32:34.89
ListViewのOwnerDrawやっているんですが、Subitem[0]のDisplayIndexを0以外に設定していて
最初のカラムを2列目以降にしています
この時、OnDrawSubitemのDrawListViewSubItemEventArgsのBoundsがどうやらバグっているようで
ColumnIndexが0だとDisplayIndexが0以外でも、Bounds.Leftに0が入っているようです
だからそのまま書くと描画位置がずれちまう

本来なら2カラム以降のサブアイテムだから、描画開始位置のBounds.Leftは0の筈がない
このバグの回避方法知っている人居たら教えて貰えませんか?
353デフォルトの名無しさん:2012/03/11(日) 03:34:04.72
>>349
システム系API使えばVista以降は奥深くまでセキュリティがガチガチだということに気づく。
PostMessageでさえブロックされる。管理者権限は平民以下になってんだよ、今のWindowsは。
天皇に自由がないのと同じ状態。
354デフォルトの名無しさん:2012/03/11(日) 09:01:03.54
こんなソフトありませんかスレか
355デフォルトの名無しさん:2012/03/11(日) 09:23:18.70
>>353
管理者権限のプロセスがユーザー権限からのSendMessage/PostMessageで
意のままに操られるからだろw
遅れながらもVistaでやっと実装されたって感じだよ

PFWとかが出す「〜のプロセスが〜しようとしています、許可しますか?」みたいな
ダイアログをその対象プロセス自身が勝手にOK押せるというw
356デフォルトの名無しさん:2012/03/11(日) 09:59:03.81
これからC#を一から始めようと思うんだけど
良い入門書とか教えてください
357デフォルトの名無しさん:2012/03/11(日) 10:03:00.82
>>356
特にありません
死ぬまで時間があるなら入門書は複数読めばいい

他人のコードを読むことも重要なのでそこそこ長めのコードに
解説がついた本も読んだ方がいい

一番ダメなのは言語解説の本だけ読んで終わること
358デフォルトの名無しさん:2012/03/11(日) 10:09:17.91
>>357
わかった。ありがとう。
とりあえず、いろいろ読んでいこうと思う。
359デフォルトの名無しさん:2012/03/11(日) 10:41:27.52
>>356
とりあえず、独習C#で良いんじゃね?
ハーバート・シルト先生が書いた本だから、悪い本ではない

上でも言ってるとおり、沢山読んで、沢山書くことが重要
プログラミング言語って言っても言語だから、言葉と同じで見たり書いたりしないと上達はしない
専門的なことを人に説明するには専門的な知識が必要なのも普通の言葉と同じ
難しく考えなさんな
難しいのは言語を覚えることじゃない。結局、専門知識の方だ
360デフォルトの名無しさん:2012/03/11(日) 11:04:47.12
作った処理にタイマー埋め込んでパフォーマンスを徐々にアップさせていく処理に改良していく作業が面白い
361デフォルトの名無しさん:2012/03/11(日) 11:22:40.06
気持ちはよくわかるが大抵は全くの無駄どころかコードが汚くなるだけでむしろ有害
本当に遅くて困ったときに原因箇所を特定してから最適化する
362デフォルトの名無しさん:2012/03/11(日) 11:26:26.18
処理が遅くなった主原因を探っていくと、原因がwpfだったり・・・
363デフォルトの名無しさん:2012/03/11(日) 11:54:29.29
巷の高速化チューニングでは「ハードウェアアクセラレーションを無効にする」が大はやり
364デフォルトの名無しさん:2012/03/11(日) 12:53:51.31
プログラムの本質はリファクタリングらしいからいいんじゃない?
365デフォルトの名無しさん:2012/03/11(日) 13:17:18.94
リファクタリングはいいが自称リファクタリングはやめてくれよ
366デフォルトの名無しさん:2012/03/11(日) 13:27:48.61
もう自称の意味がわかんねw
367デフォルトの名無しさん:2012/03/11(日) 13:37:39.67
自己流って言いたかったのかな?
理系だから仕方が無い
368デフォルトの名無しさん:2012/03/11(日) 13:38:55.14
コードを書き換える作業こそが美学
改良か改悪かなんてどうでもいい
369デフォルトの名無しさん:2012/03/11(日) 13:45:05.48
書いた本人だけがリファクタリングだと思ってるってとこかね
370デフォルトの名無しさん:2012/03/11(日) 13:50:24.12
確認するたびにコード変わってる奴いたなあ
371デフォルトの名無しさん:2012/03/11(日) 13:53:32.86
コードは綺麗な物より動くことが正義だからな
バグさえなければ40年物のコボルのコードだって立派な物だぜ
372デフォルトの名無しさん:2012/03/11(日) 13:54:57.22
コード書き換える=リファクタリング と思ってる奴はいるね
俺のコードを「リファクタリング」してくれるのはありがたいんだが
ただのコード書き換えはやめてほしい
373デフォルトの名無しさん:2012/03/11(日) 13:58:34.59
使い捨てのコードリファクタリングしてもしょうがないしねえ
374デフォルトの名無しさん:2012/03/11(日) 21:37:47.95
処理が終わっても アプリ閉じるまで
ReleaseMutex しないアプリがあるんだけど
そのアプリのプロセスから ReleaseMutexさせる方法ないですか?
375デフォルトの名無しさん:2012/03/11(日) 21:41:42.89
Mutexが名前付きでMutexの名前が分かっているのなら
DLLインジェクションなどで進入してWin32APIで直接捨ててしまえばいいと思いますよ

逆に、上記の意味が分からないのなら無理です
3年精進してからおいで下さい
376デフォルトの名無しさん:2012/03/11(日) 21:45:06.67
嘘こくなw
ミューテックス所有してるスレッドが特定できないだろw
ReleaseMutexは現在ミューテックスを所有してるスレッドから呼ばないとならん
そんなもの後からは特定できん
377デフォルトの名無しさん:2012/03/11(日) 21:50:32.62
はずかしい書き込みした後ってスレのログ消してしばらくほとぼりがさめるまで待つよね
378デフォルトの名無しさん:2012/03/11(日) 21:52:55.87
間違ってることに気づいて煽るフリで訂正書き込みを入れるパターンもあると聞く
379デフォルトの名無しさん:2012/03/11(日) 21:54:14.53
System.Threading.Mutex.ReleaseMutex();
Kernel32.dll の ReleaseMutex
いずれも失敗します。

ProcessExplorerからはReleaseできるので何か方法はあるのでしょうけど・・。
380デフォルトの名無しさん:2012/03/11(日) 21:58:04.46
>>379
ミューテックス持ったスレッドから呼び出してるの?
381デフォルトの名無しさん:2012/03/11(日) 22:05:32.70
APIの使いかたがよくわかりません
やっぱりAPIを使うようなことをするならCの知識が無いと厳しいでしょうか?
382デフォルトの名無しさん:2012/03/11(日) 22:07:35.88
>>380
いえ。
保持してるスレッドの特定の仕方と、リリース時にスレッドの指定の仕方がわかれば教えてください。
383デフォルトの名無しさん:2012/03/11(日) 22:07:57.10
>>381
win32apiの名前とC#ってキーワードをセットでぐぐればメジャーなAPIはおおよそコードがでてくる
384デフォルトの名無しさん:2012/03/11(日) 22:08:06.76
ProcessExplorerはReleaseMutexをインポートしてないような
リソースにReleaseMutexって文字が見当たらないから
GetProcAddressでアドレスを取得して使ってるわけでもなさそう

何か方法はあるんだろうけどあまり一般的ではなさそうだ
385デフォルトの名無しさん:2012/03/11(日) 22:19:52.68
386デフォルトの名無しさん:2012/03/11(日) 22:21:09.77
387379:2012/03/11(日) 23:03:25.06
一通り見てみたけど
ミューテックスとスレッドを関連付ける方法っぽいのは
見当たらないですね。
388385:2012/03/11(日) 23:06:42.23
そりゃ俺も一通り無さそうなこと確認してから貼ったし
389デフォルトの名無しさん:2012/03/11(日) 23:09:09.18
わかりません
390デフォルトの名無しさん:2012/03/11(日) 23:15:31.14
クズw
391デフォルトの名無しさん:2012/03/11(日) 23:37:11.34
そうか?
392デフォルトの名無しさん:2012/03/12(月) 02:44:51.95
でかいファイルのコピーを別スレッドでやってもメインに影響出捲りなんだが
やり方が悪いのかな?Win32ApiのFileOperationをTaskクラスで実行しただけなんだが
393デフォルトの名無しさん:2012/03/12(月) 04:01:34.06
>>392
ディスクアクセスは遅いからそこに律速されてるんではないの?
394デフォルトの名無しさん:2012/03/12(月) 04:07:20.20
動かしてるOSもかかねえ
アクセス先がHDDなのかもかかねえ
しかもアクセス先がシステムドライブなのか他なのかも書いてねえ

そんなの相手にあれこれ考えるのがあほらしいw

vistaは知らんけどwin7はシステムドライブにアクセスがあるとお節介するとかあるのに
395デフォルトの名無しさん:2012/03/12(月) 09:56:17.61
なぜそうなるのか検証するのが楽しいのに

シングルコアとかじゃないよな、、いまどき
396デフォルトの名無しさん:2012/03/12(月) 10:04:28.08
メインもディスクにアクセスしてるとかw
397デフォルトの名無しさん:2012/03/12(月) 10:18:53.34
まだまだシングルコアユーザーは多いよ
むしろシングルコアの人が多い
by家電業
398デフォルトの名無しさん:2012/03/12(月) 10:45:16.35
進捗をGUIスレッドに報告しまくってるとか
399デフォルトの名無しさん:2012/03/12(月) 11:33:08.23
マンデープログラマーです何か質問ありますか?
400デフォルトの名無しさん:2012/03/12(月) 11:47:05.65
マンデープログラマーってなんですか?
401デフォルトの名無しさん:2012/03/12(月) 11:48:39.53
>>400
あなたは英語ができないのですね。
パソコンを捨てましょう
402デフォルトの名無しさん:2012/03/12(月) 11:50:05.39
おれはハッピーマンデープログラマー
403デフォルトの名無しさん:2012/03/12(月) 12:05:43.04
Javaの@depricateに該当するのって、[Obsolete("あいうえお", false)]でおk?
404デフォルトの名無しさん:2012/03/12(月) 12:23:20.38
ok
405デフォルトの名無しさん:2012/03/12(月) 12:38:09.68
やっぱり英語ができないとプログラムはできませんか?
406デフォルトの名無しさん:2012/03/12(月) 13:00:57.40
そんなことはない
俺がプログラム始めたの小5だぞ
407デフォルトの名無しさん:2012/03/12(月) 13:03:08.49
わざわざ誇らしげにもやしアピールしなくていいから
408デフォルトの名無しさん:2012/03/12(月) 13:06:05.49
プログラマに必要なのは、英語がという質問に対して、小5だからみたいな回答が
理論的に正しいかが分かる能力。
409デフォルトの名無しさん:2012/03/12(月) 13:07:15.99
じゃあゆとり向けに

小5で英語なんてまったく読み書きでき無かったけどプログラム出来たよ
410デフォルトの名無しさん:2012/03/12(月) 13:10:07.08
日本のプログラマは、ゆとりの中学生よりも頭の悪い高卒の大人が大半だから、
英語なんて出来なくても余裕
411デフォルトの名無しさん:2012/03/12(月) 13:17:01.65
っていうか今の大卒ってバカだろw
412392:2012/03/12(月) 13:17:41.49
細かい情報書かなくて済みませんでした
動画再生機能があるファイル管理ソフトで、再生中にファイル操作すると動画が止まります
但し、複数ファイルをコピーすると、コピーとコピーの合間で動画が多少動く
この時は一つのAPIコマンド実行中だからスレッドが中断される訳じゃないんだけどね

あと、同じプログラムを2つ実行して、片方で再生片方でコピーするとスムーズに再生されるから
I/O絡みって訳でもないようだ

あ、動画が止まると言っても音声だけはそのまま再生されて、コピー終了と共に画面だけ早送り状態になって直ぐに追いつきます
413デフォルトの名無しさん:2012/03/12(月) 13:23:10.74
英語ができないとプログラミングができるのか出来ないのか分からない時点で無理だからあきらめろ
414デフォルトの名無しさん:2012/03/12(月) 13:26:36.19
英語はただの記号としてみるとして概念を理解できるかが一番重要
ただし変数名やメソッドはランダムな文字列になるし名称から意味を憶測しにくいからコメント一杯必要
よっぽど馬鹿じゃなきゃよく使う文字列ぐらい使ってるうちに覚えると思うが
415デフォルトの名無しさん:2012/03/12(月) 13:29:00.41
自動プロパティで初期値を設定するのってどうやるの?
416デフォルトの名無しさん:2012/03/12(月) 13:29:55.86
見苦しいから英語の話題は終了ね
417デフォルトの名無しさん:2012/03/12(月) 13:30:31.76
単に英語資料の読み書きの話でしょうに。
変数なんぞ、日本語でもローマ字でもどーでもいいわ
418デフォルトの名無しさん:2012/03/12(月) 13:37:00.19
>>405
さわりもしないで始まる前からビビってるやつには無理だ
ずっとそんな人生送ってきたんだろうな
引きこもりか?
419デフォルトの名無しさん:2012/03/12(月) 13:38:02.68
>>415
クラスのコンストラクタででも自分で代入すればいいやん
420デフォルトの名無しさん:2012/03/12(月) 13:44:55.54
初心者用板というより知能が人間初心者な奴だな
421デフォルトの名無しさん:2012/03/12(月) 13:49:09.00
実際日本のプログラマなんてそんなもんだろ

IT業界自体が知能順で仕事を割り振ってるような状況だし
プログラマはオペレーターの次にひどい
422デフォルトの名無しさん:2012/03/12(月) 13:55:22.64
一つのファイルにいくつまでメソッドを定義していいのか目安ってありますか?
やっぱりたくさんいれるのはパフォーマンス落ちるものですか?
423デフォルトの名無しさん:2012/03/12(月) 13:56:49.08
その機能が必要で、そのクラスが持つ必要があるならいくらでも書けばいい
多すぎるな、と感じた場合は設計を見直すといいかもね
424デフォルトの名無しさん:2012/03/12(月) 14:00:08.66
>>421
仕組み上奴隷化することで上流階層が偉ぶるために囲い込みしてるだけでしょ

役人のやり方みててもそうじゃん

一件平等に公募してるようで必ず但し書きにxx経験者ってなってて
実質囲い込みになってるしw
425デフォルトの名無しさん:2012/03/12(月) 14:26:13.67
コンプレックスを晒すスレ
426デフォルトの名無しさん:2012/03/12(月) 16:26:02.41
ゲームプレイ中にタイムを計測したいのですが
F2を押すと計測開始するようにしたいのですが
ゲームをアクティブにしているとF2を押しても反応してくれません
非アクティブな状態でもキーイベントを発生させる技術を教えてください
427デフォルトの名無しさん:2012/03/12(月) 16:26:44.40
ゲームはブラウザ上のFlashゲームかRPGツクールのです
428デフォルトの名無しさん:2012/03/12(月) 16:30:35.96
>>427
そりゃFlashもゲームもアクティブな状態だとキー入力はそっちが握ってて
外のアプリはキー入力を拾えるわけないじゃん

それなりのアプリ書かないと
429デフォルトの名無しさん:2012/03/12(月) 16:39:30.12
しかしなぜわざわざC#のスレを探して聞いたんだ
430デフォルトの名無しさん:2012/03/12(月) 16:40:51.73
ボウヤだからさ
431デフォルトの名無しさん:2012/03/12(月) 16:41:19.00
あれっすよ、C#でタイムを計測するのを作ってたんすよ
やっぱりアセンブリレベルで書かないとだめですよね
432デフォルトの名無しさん:2012/03/12(月) 16:42:35.80
VC#2010無料版で作っています。
やっぱり人様にソースコードを配布するためには、右下でプロパティやイベントを追加するのではなく
ソースコードに自分で書くべきでしょうか?
433デフォルトの名無しさん:2012/03/12(月) 16:42:50.23
言われんでもそういう前提だよw
C#で書いてなくてここに来たのならお帰りくださいだし
434デフォルトの名無しさん:2012/03/12(月) 16:46:01.30
>>432
プロジェクトごと配布するのならデザイナーがいじる部分も
ついてくるので気にする必要はない
Form1.csだけとか>>2のようなサイトなどに貼って公開するのなら
どういうコントロールをFormに貼り付けたか説明しないといけない
まあコードでどういうコントロール貼ってイベントを追加したかわかるけど
そういう手間隙が面倒ならLoadイベントなどで自力でコントロールを
追加するコードを書いておけばいい
435デフォルトの名無しさん:2012/03/12(月) 16:48:29.79
わかりました。
後で位置から作る直すときにコピペするときに楽なのでイベントだけ追加するようにします。
436デフォルトの名無しさん:2012/03/12(月) 17:13:32.06
疲れたー
437デフォルトの名無しさん:2012/03/12(月) 17:23:08.27
Stopwatch sw = new Stopwatch();

public Form1()
{
InitializeComponent();
}
こんな感じで書いてるんですけどLoadイベントの中でやったほうがいいですか?
一応これでも動くんですが本来の正しい作法が気になります
438デフォルトの名無しさん:2012/03/12(月) 17:29:27.36
>>437
自分も同じようにクラス先頭あたりでやってる。
コンストラクタで、start()を一応やっておいて、カウントを継続しながらリセットしたい時はrestart()している。

MONOではrestart使えないらしいけど・・・。
439デフォルトの名無しさん:2012/03/12(月) 17:54:16.19
そういえばコンストラクタとして登録されるので問題ないですよね
ありがとうございます
440デフォルトの名無しさん:2012/03/12(月) 18:00:29.08
sw.Reset()とするとタイマーが止まってしまいます・
sw.Start()を重複で実行した場合、これって重複で開始させられるんでしょうか?
C#がかしこく判断して実行しないようになってますか?
sw.Start()を実行するときはsw.IsRunningをやったほうがいいものでしょうか?
441デフォルトの名無しさん:2012/03/12(月) 18:03:41.43
あ、マンデープログラマーさんに聞きたいことありました。
プロパティはどのようなとき使えばいいんでしょうか?
いつも変数ですませてしまいます。
442デフォルトの名無しさん:2012/03/12(月) 18:09:40.37
コード晒せよw
443デフォルトの名無しさん:2012/03/12(月) 18:14:07.14
タイトルバーのところを非表示にしたいのでFormBorderStyleをnoneに設定しました
このとき、フォーム外側にボーダーを引きたいんですがどうやるのでしょうか?
cssのborder-styleでttp://www.htmq.com/style/border-style.shtmlな感じにしたいのです
444デフォルトの名無しさん:2012/03/12(月) 18:21:17.37
要求:タイトルバー非表示
解決:FormBorderStyle.None
って流れとしておかしくない?
要求は上下左右のボーダーをOSのテーマと無関係に任意のラインで描画したいってことなの?
445デフォルトの名無しさん:2012/03/12(月) 18:27:38.38
>>426
グローバルキーフック ってググってみ。
CやC++じゃないとできない。ってサイトもあるけど
C#でも グローバル限定でフック可能 とかそんなサイトにソースあったよ。
446デフォルトの名無しさん:2012/03/12(月) 18:41:19.68
>>441
一般的には変数をそのまま外部に出すのはよくないとされてる。
不正な値をフィルタリングできないのが大きな理由。

あとはデータの設定・取得なのか、
メソッドを呼んでいるのか意味を明確にする作用もある。

まあ積極的に使っていけばいいとおもうよ
447デフォルトの名無しさん:2012/03/12(月) 19:14:46.74
なるほど。サンクス。ちょっと使ってみるわ
448デフォルトの名無しさん:2012/03/12(月) 19:40:36.29
>>444
タイトルバーを非表示にしてフォームの部分だけが使いたいんです
んで、この状態だとフォームの枠線がなくなっちゃうのでちょっとそれは困るので
任意のラインを描画したい、代弁頂いたそれです
1pxの黒い線とか任意の色と太さで引きたいです
449デフォルトの名無しさん:2012/03/12(月) 19:49:40.77
MSのILmergeで、自作exeとDLLをくっつけようとしたんだけど、うまくいかない・・・。
対象DLLは、BABAさんのBASP21.DLLとBSMTP.DLL。
自作exe+BASP21.DLL+BSMTP.DLLやると、「Could not load Assembly・・・」と言われる。
450デフォルトの名無しさん:2012/03/12(月) 19:52:35.80
>>448
FormBorderStyle.Noneは本質的にはボーダーを表示しないことで、
タイトルバーを表示しないのは副次的な効果でしかないよ
タイトルバーを表示したくないだけならControlBox=falseにしてTextを空にすればいい
451デフォルトの名無しさん:2012/03/12(月) 19:58:14.74
FormにPanelでもDock-Fillで置いてBorderStyle:FixedSingleとか
OnPaintをoverrideして自分で好きなようにお絵かきするとかだろ
452デフォルトの名無しさん:2012/03/12(月) 20:03:56.59
FormBorderStyle.Noneするとタスクバーのアイコンクリックしても最小化できなくなるんだよな
ttp://dobon.net/vb/bbs/log3-2/788.html
453デフォルトの名無しさん:2012/03/12(月) 20:20:09.33
>>449
そもそもこれC++で書かれてるネイティブのCOMコンポーネントじゃないの?

ILMerge is a utility for merging multiple .NET assemblies into a single .NET assembly.
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17630
454デフォルトの名無しさん:2012/03/12(月) 20:23:12.83
コレジャナイ
ソレ
BASP21の方が、ね
455デフォルトの名無しさん:2012/03/12(月) 22:30:09.28
int[] a ={ 1, 2, 5, 7, 8, 9 };
これを例えば奇数だけ抽出して
int[] b
に入れたいです。
関数への引数なのでListでなく配列でないとダメなのですが
配列の一部(条件に合うもの)を別の可変の配列に入れるには
どうしたらいいですか?
456デフォルトの名無しさん:2012/03/12(月) 22:32:29.38
int[] b = (from x in a where x % 2 == 1 select x).ToArray();
または
int[] b = a.Where(x => x % 2 == 1).ToArray();
457デフォルトの名無しさん:2012/03/12(月) 22:32:42.80
b = a.While((n % 2)==1).ToArray();
458デフォルトの名無しさん:2012/03/12(月) 22:36:36.16
既存のメソッドなら仕方ないけど今から複数の値を引数に取るメソッドを書く場合は
配列じゃなくてIEnumerable<T>使ったほうがいいよ(Tはこの場合int)
それならいちいちToArrayいらないから効率もいい
459455:2012/03/12(月) 22:41:09.94
みなさんありがとうございます。
460デフォルトの名無しさん:2012/03/12(月) 22:51:44.42
testにURLの一番上のディレクトリを代入するようにしたいんだが
string test = Regex.Replace("hamusokuhou.blogspot.com/2012/03/", "(?<directryname>.*?/).*/$", "${directryname}",
RegexOptions.IgnoreCase | RegexOptions.Singleline);
これだとできるのに

string test = Regex.Replace("hamusoku.com/archives/6818883.html", "(?<directryname>.*?/).*/$", "${directryname}",
RegexOptions.IgnoreCase | RegexOptions.Singleline);

これだと
hamusoku.com/archives/6818883.html
になるのはなんで?
461デフォルトの名無しさん:2012/03/12(月) 22:55:25.35
下はマッチしてないから置き換え自体行われてないんじゃね
ケツにスラッシュがないとマッチしないだろ
462デフォルトの名無しさん:2012/03/12(月) 23:38:33.69
>>450
ありまとうぞざいます
希望の方に地なりました
>>451
この方法なら色を変えたり好きな形の線が引けそうなんで良さそうに思います
トライしてみたんですが難しくて挫折しました
463デフォルトの名無しさん:2012/03/13(火) 00:22:17.16
質問失礼します。

Win + Rを押下した際に"ファイル名を指定して実行"が起動しますが
グローバルキーボードフックを用いてWin + Rのメッセージをフックし
自分のアプリケーションが表示される処理を実装したいと思っています。

そこで問題にぶち当たってしまいました。
下記のような実装をしているのですがどうもうまくいきません。
↓イメージ↓

キーダウン ハンドラ関数{

 if( Rが押された ){
  if( Winキーが押されている ){

   メッセージフック;
   アプリケーション表示;

  }
 }

}

このような実装を行った場合
アプリケーションは表示されるところまでは
うまくいきましたが、
Win + Rを押下後、Rキーを押したまま
Winキーを離すとスタートメニューが表示されてしまいます。
このスタートメニューを表示されないようにしたいです。

どなたか教えていただけると嬉しいです。。
464デフォルトの名無しさん:2012/03/13(火) 00:52:02.53
条件分岐追加してメッセージを破棄
465デフォルトの名無しさん:2012/03/13(火) 00:53:09.94
UWSCで解決
466463:2012/03/13(火) 01:13:53.52
463の内容だけでは分かりにくい思いますので
キーボードフック部分の処理だけ抜粋したものを作りました。

http://www1.axfc.net/uploader/Sc/so/327737&key=csharp

よろしくお願いしますm(_ _ )m
467デフォルトの名無しさん:2012/03/13(火) 01:15:26.43
Winキーをもう一回たたればOK。
468463:2012/03/13(火) 01:17:29.94
>>464
すみません、どのような条件でメッセージを破棄すればよいのか分からないです。
具体的に教えていただけると助かります。

>>465
C#で作りたいです。すみません。
469デフォルトの名無しさん:2012/03/13(火) 01:20:50.70
c#でグローバルフックは無理。
470デフォルトの名無しさん:2012/03/13(火) 01:26:36.04
↓ローレベルフックは可能だよっていう何度繰り返されたか分からないレス
471デフォルトの名無しさん:2012/03/13(火) 01:33:00.60
472デフォルトの名無しさん:2012/03/13(火) 01:49:45.86
スタートメニューってWinキーの押上で表示されるのに
フックで握りつぶしているのが押下のメッセージだけやん
そら表示されるわ
473デフォルトの名無しさん:2012/03/13(火) 02:01:56.60
じゃあなんで
Winキー押下→Rキー押下(キャンセルしてる)→Rキー押上(キャンセルしていない、たぶん質問者はしていると勘違い)→Winキー押上
でスタートメニューが表示されないかと言うと
スタートメニューが表示される条件を厳密に言うと
「1:Winキー押下→2:いかなるキーイベントも発生してはいけない→3:Winキー押上→スタートメニュー表示」
だから、実際は2:でRキー押上が発生しているのでスタートメニューが表示されていないだけ
質問者は握りつぶした気でいるだろうが、そもそもが勘違いね
474デフォルトの名無しさん:2012/03/13(火) 02:09:07.62
Winキーが爆発した
475デフォルトの名無しさん:2012/03/13(火) 02:14:30.38
0%以外の攻撃は基本的に当たるからな。
476デフォルトの名無しさん:2012/03/13(火) 02:20:44.21
だが待って欲しい
内部的には小数で扱い、整数で表示しているだけかも知れない
よって、0.0001%を0%と表示している
つまり、0%表示で攻撃が当たっても、それはバグではなく仕様
477デフォルトの名無しさん:2012/03/13(火) 02:34:32.29
ブーメランフックは可能ですか?
478デフォルトの名無しさん:2012/03/13(火) 02:49:52.65
ローレベルフックも不可。
479デフォルトの名無しさん:2012/03/13(火) 05:30:56.37
こんにちは、2つ質問があります。
当方VS2010にてEmacsキーバインド設定を利用しています。
同様の環境の方で以下を解決できる方いましたらご教授ください。

1.
通常、デリゲートにハンドラ追加記述時 → this.Click += ここまで入力すると記述ハンドラ候補が表示され、
TABで挿入可能になります。
しかしEmacs設定利用時だと、TABを押しても挿入されず、その行の先頭タブが削除されるような動作を行ってしまいます。
キーバインドでTAB設定されているものを洗ってもそれらしいバインドがみつからないのですが、どうすれば解決できますか?

2.
同様にEmacs設定利用時において、 this. と入力した際に、補完候補メニューが表示されますが、
ここでの上下操作を↑↓キーではなくCtrl+P, Ctrl+Nに割り当てたいのですが、キーバインドのコマンドがわかりません。
どれを設定すればいいでしょうか?

よろしくお願いします。

480デフォルトの名無しさん:2012/03/13(火) 06:37:30.66
誘導

Visual Studio 2010 Part18
http://toro.2ch.net/test/read.cgi/tech/1325602674/
481デフォルトの名無しさん:2012/03/13(火) 10:00:14.58
>>466
昨日ぐらいに質問したものですが、勉強にありますありがとう
482デフォルトの名無しさん:2012/03/13(火) 10:05:22.47
win+Rをフックするって最低な馬鹿なやり方はヤメロと
言うやつが一人もいないのはいかがなものか
483デフォルトの名無しさん:2012/03/13(火) 10:09:21.78
484デフォルトの名無しさん:2012/03/13(火) 10:49:18.62
>>471
あの、これみてもどこにどう書いていいのかわかりまsねn
485デフォルトの名無しさん:2012/03/13(火) 10:55:27.52
>>482
世の中にはいろいろなソフトがあるからな
嫌がらせツールとかならフックしてもおかしくないし
全画面表示ゲームで間違ってWinキー押してアビャビャビャって事態もよくある
486デフォルトの名無しさん:2012/03/13(火) 11:25:03.84
>>484
そのまま1つのファイルにコピペして、
void Capture_KeyDown(object sender, GlobalKeybordCapture.KeybordCaptureEventArgs e){}
という関数でも作って
GlobalKeybordCapture.KeyDown += new EventHandler<GlobalKeybordCapture.KeybordCaptureEventArgs>(Capture_KeyDown);
とかやればいい
487デフォルトの名無しさん:2012/03/13(火) 11:31:59.10
>>486
いまからやってみます
488デフォルトの名無しさん:2012/03/13(火) 11:33:32.97
キーフックは別スレでも立ててやってくれ・・・
そうすれば独立してログも残るし

なんどループしてるんだ
489デフォルトの名無しさん:2012/03/13(火) 11:38:17.73
同一人物がトロイを作ってると思われ
490デフォルトの名無しさん:2012/03/13(火) 11:40:59.81
491デフォルトの名無しさん:2012/03/13(火) 11:43:17.92
だからスレ立ててやれって
492デフォルトの名無しさん:2012/03/13(火) 11:44:33.24
別にスレ違いでもないからここでいいよ
493デフォルトの名無しさん:2012/03/13(火) 11:44:54.55
ウィルスくらいC++でつくろうよ
どこまでゆとってんだよw
494デフォルトの名無しさん:2012/03/13(火) 11:45:36.66
>>488
話し合いもしないで勝手にスレを立てるとか決めるな
495デフォルトの名無しさん:2012/03/13(火) 11:45:50.56
>>492
このスレでもループしてるから分離しろっていってる
ここだと他の話題で過去ログ化してどうせ見ないまま又ループするし
496デフォルトの名無しさん:2012/03/13(火) 11:52:41.45
>>490
Disposeがなぜ必要なのか、static class とはどんなものか
あと始末は何が必要で、そのコードではどうやってるか、
くらいは自分で調べてみようぜ。
497デフォルトの名無しさん:2012/03/13(火) 11:54:50.83
>>495
じゃ、よろしく
498デフォルトの名無しさん:2012/03/13(火) 12:03:58.59
わざわざキーボードフックの為にスレ立てんでよい
何度も出てくるようなネタならなお更スレ別けせずテンプレにQ&Aにしてまとめておくほうが良い
499デフォルトの名無しさん:2012/03/13(火) 12:08:43.30
今回のはまだいい
毎回できるできないでループされるのが不愉快だ
500デフォルトの名無しさん:2012/03/13(火) 12:10:29.41
お前が不愉快になるとか知らないよw
お前のためのスレじゃねえしw
501デフォルトの名無しさん:2012/03/13(火) 12:12:49.07
ID欲しいお・・・
502デフォルトの名無しさん:2012/03/13(火) 12:15:04.20
オレも不快だよ
503デフォルトの名無しさん:2012/03/13(火) 12:16:07.15
初心者用スレだしループすんなってのは無理筋
504デフォルトの名無しさん:2012/03/13(火) 12:17:29.25
不快なのは、出来ないと書いてるのだけだね
505デフォルトの名無しさん:2012/03/13(火) 12:20:57.62
>>496
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
GlobalKeybordCapture.KeyDown += new EventHandler<GlobalKeybordCapture.KeybordCaptureEventArgs>(GlobalKeybordCapture_KeyDown);
}

void GlobalKeybordCapture_KeyDown(object sender, GlobalKeybordCapture.KeybordCaptureEventArgs e)
{
switch (e.KeyCode)
{
case (int)Keys.A:
MessageBox.Show("Test");
break;
default:
break;
}
}

}
}
506デフォルトの名無しさん:2012/03/13(火) 12:22:06.25
>>496
読んでみてstaticの意味とdisposeしなくていいことをわかりました
そしてこういう風に書いてAを押したらメッセージボックスが出るようにしたいんですが出てきません
507デフォルトの名無しさん:2012/03/13(火) 12:23:18.79
>>505
>>2使えよ
508デフォルトの名無しさん:2012/03/13(火) 12:23:49.77
デバッグでは無理だぞ、Ctrl+F5でやってみ
509デフォルトの名無しさん:2012/03/13(火) 12:56:07.65
初心者はフックしたがる
510デフォルトの名無しさん:2012/03/13(火) 12:57:25.84
出来ましたありがとうございます
次から.>2のをつかいます
511デフォルトの名無しさん:2012/03/13(火) 12:57:45.93
鼻フックでもしとけ
512デフォルトの名無しさん:2012/03/13(火) 12:57:57.25
ローカルフックではなく必ずグローバルフックというところが悪用くさい
513デフォルトの名無しさん:2012/03/13(火) 13:16:46.37
何で質問に対する解答が出ているのに、そちらへは感謝しないで
既に自分が作ったものと同等の別の表現に置き換えただけの物を提供されて、そっちへ感謝しているんだコイツ
514デフォルトの名無しさん:2012/03/13(火) 13:21:47.49
とりあえずこのスレに来る奴は
C#初心者かたるまえに、人間初心者卒業してから来いよw
515デフォルトの名無しさん:2012/03/13(火) 13:23:06.76
>>513
コイツってだれ
516デフォルトの名無しさん:2012/03/13(火) 13:23:29.06
まぁ人間中級者がC#の勉強を始めて初歩的な問題にブチ当たっても
自己解決出来るから、必然的にこのスレはこうなる運命かw
517デフォルトの名無しさん:2012/03/13(火) 13:25:04.96
>>515
文盲じゃなきゃ誰か分かるでしょ?
昔、小学生の頃に国語のテストやらなかった?下線1の「それ」とは何のことですか?みたいな
518デフォルトの名無しさん:2012/03/13(火) 13:26:00.29
分かりやすくレス番まとめて
519デフォルトの名無しさん:2012/03/13(火) 13:26:15.81
IDがないから言わなかったが





ここまですべて俺の自演
520デフォルトの名無しさん:2012/03/13(火) 13:27:07.72
この話題は止めましょう(提案)
次の質問者、入ってどうぞ
521デフォルトの名無しさん:2012/03/13(火) 13:31:26.73
a200
a3
a100

a3
a100
a200
という風にソートするのは何てメソッドを使えば出来ますか?
522デフォルトの名無しさん:2012/03/13(火) 13:31:33.04
だから分離しろと
分離先でスレをどうしようがかまわん
523デフォルトの名無しさん:2012/03/13(火) 13:32:30.76
>>520
>>412だが、どうにか出来ない物ですかね?
524デフォルトの名無しさん:2012/03/13(火) 13:32:38.33
>>521
意味がわかりません
アルファベットが入ってるのに一部は数値とみなしてソートするの?
525デフォルトの名無しさん:2012/03/13(火) 13:33:51.55
>>523
それも分離してくれ
プログラムの問題じゃなさそうだし
526デフォルトの名無しさん:2012/03/13(火) 13:35:00.54
>>524
普通にやるsortだと数字の部分を考慮されないので
a100
a200
a3
ってなっちゃうんです
PHPでいうnatsortみたいなのがやりたいんですがC#でこういうソートできませんか?
527デフォルトの名無しさん:2012/03/13(火) 13:35:04.57
>>521
Sort()でOK。IComparableは自分で実装してね。
528デフォルトの名無しさん:2012/03/13(火) 13:35:29.51
529デフォルトの名無しさん:2012/03/13(火) 13:35:40.00
比較関数書けばいい。数字を数値にするんだろ?
530デフォルトの名無しさん:2012/03/13(火) 13:36:50.12
>>527
ということは標準ではこういうメソッドはなくて自力で書かないとダメって事ですか
うあ
531デフォルトの名無しさん:2012/03/13(火) 13:37:46.65
>>530
自分で書かないといけないって
仕様さえ決めればすぐだろ

アホしかいないのか
532デフォルトの名無しさん:2012/03/13(火) 13:37:54.18
>>529
ちょっと難しいのですがたぶんそれです
なんかC#ならこういうのに対応したメソッドがあるものだと思いました
やっぱり自力でやんないとだめなんですね
533デフォルトの名無しさん:2012/03/13(火) 13:39:07.43
2,3行書くだけだろ。
phpみたいにあれもこれもそれも関数追加するより
必要なものを自分で書いた方が自由度高いだろ。
534デフォルトの名無しさん:2012/03/13(火) 13:40:27.33
C# 自然順 ソートでググってるんですがコード書いてる人が見つかりません
どう書くのはヒントをいただけないでしょうか?
535デフォルトの名無しさん:2012/03/13(火) 13:41:38.04
XP以降、シェルがStrCmpLogicalW関数を公開しててExplorerとかがソートに使ってる
536デフォルトの名無しさん:2012/03/13(火) 13:42:46.46
難しいんじゃなくてプログラミングに向いてないだけじゃないの?

自分でやりたいこと(仕様)は決まってるのにプログラムに落とし込む際に
詳細な仕様に分解できないんだし
537デフォルトの名無しさん:2012/03/13(火) 13:51:18.86
StrCmpLogicalW() を比較関数にすればいい。

class Program
{
  [DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)]
  private static extern int StrCmpLogicalW(string psz1, string psz2);

  static void Main(string[] args)
  {
    var l = new List<string>();
    l.Add("a100");
    l.Add("a3");
    l.Add("a200");

    l.Sort(StrCmpLogicalW);

    foreach (var s in l)
      Console.WriteLine(s);
  }
}
538デフォルトの名無しさん:2012/03/13(火) 13:51:37.89
組織の規律なだけですよ

嫌なら辞めればいいだけです

逃亡()しても銃殺刑にしたりしませんよ

何勘違いしてるの?
539デフォルトの名無しさん:2012/03/13(火) 13:51:59.07
ああああwww
ごばくw
540デフォルトの名無しさん:2012/03/13(火) 13:53:33.22
逃亡メソッドかと
541デフォルトの名無しさん:2012/03/13(火) 14:16:15.68
>>537
すげーw質問者じゃないけど、そのAPI初めて知ったので勉強になったw
お礼に勝手にスタイリッシュに書き直し
var list = new List<string> { "a200", "a3", "a100", };
list.Sort(StrCmpLogicalW);
list.ForEach(Console.WriteLine);
542デフォルトの名無しさん:2012/03/13(火) 14:19:30.26
>>525
多分別プロセスに分けたら解決するが、プロセス間通信でファイル操作ができるプログラム作るのも何だから
出来ればスレッド分けるだけで何とかしたいんだが無理なのかな?
543デフォルトの名無しさん:2012/03/13(火) 14:21:55.75
>>542
知らん
C#だけじゃなくOSとか環境も影響しそうだしそんなのに付き合ってられん
544デフォルトの名無しさん:2012/03/13(火) 14:24:20.43
>>535
Win98の頃にWin32APIの分厚い本を読破したけど
それ以降にこんな便利なものが追加されているんだな
最新版を読んでみようという良い機会になったw
545デフォルトの名無しさん:2012/03/13(火) 14:30:26.90
WindowsってVista以降のUIを除けばよくできているよな。
546デフォルトの名無しさん:2012/03/13(火) 14:43:20.84
>>537のような先生ばかりならいいんだけどな
ほとんど質問者と同等の連中がまっとうな答えも出せずに煽るばかり
547デフォルトの名無しさん:2012/03/13(火) 14:45:08.70
>>546
>>521のレベルの質問で回答者を叩かれるのは納得いかないわw

たまたまエスパーがいただけだろ
548デフォルトの名無しさん:2012/03/13(火) 14:48:37.09
回答できていないのだから回答者とは言わない
549デフォルトの名無しさん:2012/03/13(火) 14:50:58.75
文字と数字でわけて文字比較して同じだったら数字を数値化して
比較するだけじゃない、質問者は自然順という言葉しか出せないから
プログラム以前の話。
550デフォルトの名無しさん:2012/03/13(火) 14:51:18.24
>>548
煽ってるんじゃなくて何がしたいかわからないから
ヒアリングしてるんだよ

>>521がたとえば先頭はアルファベット1文字だけでその後は数字を文字列化した程度なら
自分で実装しようがそれほどでもない
もうちょっと文字数が増えてもそれほどでもないかもしれない

でもそういうのすら書かれてない
だからヒアリングするの
551デフォルトの名無しさん:2012/03/13(火) 14:59:21.32
他人が回答書いたらケチ付ける人こそ生産性がゼロの問題児だと思います
事実上の嵐行為なので他の人もスルーしたらいいのに
552537:2012/03/13(火) 14:59:38.03
確かにヒアリングは大事だよな。
俺も回答はしたが、>>521の要望どおりっていう保証は何もないしな。
ただこういう場合、質問者自身も仕様を突き詰めて考えているわけじゃないから、
とりあえず答えを提示してみたほうが効率良くヒアリングできることもある。
553デフォルトの名無しさん:2012/03/13(火) 15:05:07.42
自分のやりたいことがきちんと説明できるだけの知識があったらその時点ですでに解決してると思うぞ
こういうスレはエスパーじゃないと無理
554デフォルトの名無しさん:2012/03/13(火) 15:05:53.91
>>553
エスパーじゃないのでヒアリングしたら回答してない煽ってるといわれるとどうしようもないw
555デフォルトの名無しさん:2012/03/13(火) 15:10:33.23
何千万の仕事がもらえるアホ顧客へのヒアリングじゃないからw
少々言葉が汚いのは諦めろ
無料の代償だからw
556デフォルトの名無しさん:2012/03/13(火) 15:22:30.98
質問者側だって少ない知識で必死に説明しようとしてるんだよ
それを回りくどくヒアリングとか言われても余計混乱するだけ
この程度の質問を予測できない奴が顧客のニーズに応えられるとはとうてい思えない
557デフォルトの名無しさん:2012/03/13(火) 15:26:43.06
〜糞スレ終了のお知らせ〜
558デフォルトの名無しさん:2012/03/13(火) 15:28:36.33
2chも仕事です
559デフォルトの名無しさん:2012/03/13(火) 15:29:14.80
>>547は日本語が読めないらしい
ここにやりたい事を書いてあるみたいだけど
560デフォルトの名無しさん:2012/03/13(火) 15:30:13.49
俺はもっとつらい顧客の対応してんだから、
お前もこれぐらい我慢しろって顧客が言うんですよ。
561デフォルトの名無しさん:2012/03/13(火) 15:30:20.06
2chなめんなよ
562デフォルトの名無しさん:2012/03/13(火) 15:33:32.73
ソートはみんなで答えるくせにフックの質問は答えてくれない。
563デフォルトの名無しさん:2012/03/13(火) 15:33:47.93
プロがこんなスレにいるわけねーだろ
ここの卒業間近のやつが応えてんだよ
564デフォルトの名無しさん:2012/03/13(火) 15:35:08.95
初心者が質問して初心者がググって答えるスレなんだからしょうがないだろ!
分からないものは知ってる振りをして煽っておかないと俺のプライドがもたねぇ!
565デフォルトの名無しさん:2012/03/13(火) 15:38:03.55
IDつけてくんないと自演やめられねぇ
566デフォルトの名無しさん:2012/03/13(火) 15:38:58.63
>>562
飽きたんだよ。 前も答えたけど、何の返答もよこさねーし。
まあ、検索すればあるからってより、使えないからっていう返答の方がお好みだったんだろうけどな。
567デフォルトの名無しさん:2012/03/13(火) 15:39:18.39
>>565
入れ食いだお
568デフォルトの名無しさん:2012/03/13(火) 15:40:31.79
ずっとこのスレに生息してるけどフックの件の回答は「グローバルフック」とかこの程度の回答しか見た事がない
569デフォルトの名無しさん:2012/03/13(火) 15:40:41.16
おまえとおれと二人しかいないし寂しいな。
570デフォルトの名無しさん:2012/03/13(火) 15:42:07.14
荒れる三大スレ
PHP,JavaScript,C#
571デフォルトの名無しさん:2012/03/13(火) 15:42:24.40
>>568
それで十分じゃないか

そとも俺のために完璧に動くソースを作れってこと?
572デフォルトの名無しさん:2012/03/13(火) 15:42:59.69
>>568
だって分からないんだもんっ
573デフォルトの名無しさん:2012/03/13(火) 15:43:52.13
こんなもん荒れたうちに入らねーよ
574デフォルトの名無しさん:2012/03/13(火) 15:44:53.94
まああれに比べたらなw
575デフォルトの名無しさん:2012/03/13(火) 15:44:58.40
>>572
そういうあおりしても出てこないよ
逆にますます無視されるだけ
576デフォルトの名無しさん:2012/03/13(火) 15:50:35.21
すべった?
577デフォルトの名無しさん:2012/03/13(火) 15:51:16.87
的外れなエスパーは半月ろむってろ
578デフォルトの名無しさん:2012/03/13(火) 15:51:17.56
579デフォルトの名無しさん:2012/03/13(火) 15:51:45.69
このスレだと質問がネタ振りに化してる感じ
580デフォルトの名無しさん:2012/03/13(火) 15:52:35.27
>>579
スレを活性化するためにわざとネタにしてるのかもw
581デフォルトの名無しさん:2012/03/13(火) 15:54:40.80
ネタ振り〜してる間に〜
582デフォルトの名無しさん:2012/03/13(火) 15:55:27.17
フックぐぐってきた
俺には必要なさそうだ
583デフォルトの名無しさん:2012/03/13(火) 16:02:35.79
このスレ役に立ったためしがない
ぐーぐる先生のほうが優秀だし
まぬけな質問者をオチってにやにやするのが楽しくて離れらないけど
584デフォルトの名無しさん:2012/03/13(火) 16:04:40.42
死ね
俺以外みんな死ね
585デフォルトの名無しさん:2012/03/13(火) 16:07:26.35
俺とお前しかいないのになにいってんだ
586デフォルトの名無しさん:2012/03/13(火) 17:05:30.06
キーボードを押すという動作は出来ますか?
sendMessageはアクティブのウィンドウに文字を送信しますのでこれはだめです
キーボードを手で押したようなことをしたいのですがそれは無理ですか?
587デフォルトの名無しさん:2012/03/13(火) 17:10:34.04
猫を飼えば可能
588デフォルトの名無しさん:2012/03/13(火) 17:11:38.57
>sendMessageはアクティブのウィンドウに文字を送信します

は?
589デフォルトの名無しさん:2012/03/13(火) 17:12:23.94
SendInput の話?
590デフォルトの名無しさん:2012/03/13(火) 17:17:17.21
SendInputとグローバルフックの話題禁止
591デフォルトの名無しさん:2012/03/13(火) 17:18:08.03
はい出ました仕切り厨
592デフォルトの名無しさん:2012/03/13(火) 17:21:37.05
どうみても>>586はネタ
593デフォルトの名無しさん:2012/03/13(火) 17:22:50.64
594デフォルトの名無しさん:2012/03/13(火) 17:27:51.43
例えば キーボードを押してないのに
キーボードのキーが物理的に下がる  ってことはできない。
ピアノの鍵盤が下がる自動演奏みたいな。

で、何がしたいの?
595デフォルトの名無しさん:2012/03/13(火) 17:51:33.70
>>594 AHKやuwscのようなキーボーボを押すマクロを作りたいと思います
>>593 参考になります これでやってみます
596デフォルトの名無しさん:2012/03/13(火) 17:59:22.56
物理的にキーが下がる・・・重力あやつるしかねえな
597デフォルトの名無しさん:2012/03/13(火) 18:02:05.71
ピアノとかで自動演奏するのがあるけどあれはそれなりの仕組みがいるよなw
そんな高級キーボードを買うやついねーだろw
598デフォルトの名無しさん:2012/03/13(火) 18:38:36.37
メソッドが複数の戻り値を返せないC#では
複数の戻り値が欲しい場合は、複数のデータを1つの固まりにパックしてから返さないといけないのですが
パックの方法を調べたところ
1:独自クラスにパックして返す、2:匿名型でパックしてdynamic型で返す、3:Tupleにパックして返す、の3種類のようです
1は毎回有名のクラスを作る必要があるので論外
2は戻り値を利用するときに、インテリセンスでプロパティが表示されないので、コーディングの生産性が低いため論外
3は戻り値を利用するときに、プロパティ名がItem1と固定されているので、戻り値の意味が分からなく論外
どうすればいいですか?C#6.0で対応されるのを待つしかありませんか?
599デフォルトの名無しさん:2012/03/13(火) 18:45:28.31
4諦める


といいたいところだけどコンソールアプリの引数のように文字列の配列を返すようにして
復元するためにキーワード化するとか

あとは同じく文字列だけどDictionaryで管理してそのインスタンスを渡す

でも復元しないといけないだろうから復元クラスを作る必要があるねw
600デフォルトの名無しさん:2012/03/13(火) 18:45:42.22
釣り針〜
601デフォルトの名無しさん:2012/03/13(火) 18:48:32.26
最近の質問はのび太がドラえもんにいい道具ない?ってねだるくらいのレベルだな
602デフォルトの名無しさん:2012/03/13(火) 18:56:59.65
答えが分かってる質問というのか、ただの愚痴に近い。
603デフォルトの名無しさん:2012/03/13(火) 18:59:15.05
>>599
やっぱ低コストな方法では無理ですな
理想としては2で匿名型をdynamic型に代入したときは
コンパイル時に確定している情報はIDE上では静的に扱ってくれると嬉しいですな
例えば、 dynamic hoge = "a"; ってやればhogeはstringで確定なんだから
604デフォルトの名無しさん:2012/03/13(火) 19:13:03.71
>>603
dynamicに対する理解不足ですね
605デフォルトの名無しさん:2012/03/13(火) 19:13:24.72
>>598
2点、やり直し!
606デフォルトの名無しさん:2012/03/13(火) 19:16:18.64
>>604
いや、全くその通り理解不足なんだけど
理論上おかしくてもIDE上では便宜上そこまでやってくれるツールだと素敵なんだけどねって妄想してみた
もしくはTupleのプロパティを命名する仕組みが出来ても素敵だけど、今の言語仕様では当然無理
607デフォルトの名無しさん:2012/03/13(火) 19:17:38.53
そもそもメソッドの引数には名前があるのに、メソッドの戻り値に名前がないのが不自然
608デフォルトの名無しさん:2012/03/13(火) 19:18:56.49
便宜上、メソッド名が戻り値の名前になっているだけ
GetName#なら戻り値が名前なんだなって分かるのは、メソッドが戻り値を命名しているかr
609デフォルトの名無しさん:2012/03/13(火) 19:20:13.98
その都度クラス作ったほうがいいと思うけど
大した手間じゃないし
610デフォルトの名無しさん:2012/03/13(火) 19:28:45.52
Debug.Fail

ってプログラムを完成させてexe形式で実行されるときにどういう扱いされるの?
611デフォルトの名無しさん:2012/03/13(火) 19:45:33.11
ConditionalAttributeの説明を読む
612デフォルトの名無しさん:2012/03/13(火) 20:06:42.02
フォームのtopmostとメニューのチェックの状態をくっつけたいのだが(バインド?)
どうすればおk?
ApplicationSettingsは使いたくない
613デフォルトの名無しさん:2012/03/13(火) 20:09:21.77
WinFormsならチェックが変更されたイベント拾ってしこしこ書くしかないよ
バイントみたいな便利な機能は極一部のコントロールでしか使えない
614デフォルトの名無しさん:2012/03/13(火) 20:20:02.66
今から作るならMetro対応にして練習したほうがいいな
615デフォルトの名無しさん:2012/03/13(火) 20:38:47.68
いやメトロなんて絶対に普及しないからw
616デフォルトの名無しさん:2012/03/13(火) 20:39:40.94
ないよね
当のWPFすらナイナイwって言ってるしね
617デフォルトの名無しさん:2012/03/13(火) 20:42:29.95
IS12T使ってるけど、メトロUI結構好きだよ。
もうちょっと練り込む必要があるかなとは思うけど。
618デフォルトの名無しさん:2012/03/13(火) 21:23:34.41
String log = "a = " + a + ", b = " + b + ",c = "以下省略
みたいな書き方が目に悪いです
String log = "a = ${a}, b = ${b}, 以下略みたいに書けないでしょうか?
619デフォルトの名無しさん:2012/03/13(火) 21:25:00.20
メがトロ
620デフォルトの名無しさん:2012/03/13(火) 21:26:02.31
今のところ以下略みたいには書けないですね
String.Formatで勘弁して下さい
621618:2012/03/13(火) 21:31:08.67
勘弁してあげません。もっといい書き方はないでしょうか
ちなみに"a=${a}"という書き方はRubyならできます
622デフォルトの名無しさん:2012/03/13(火) 21:34:30.60
ないよ
嫌なら死ね
623デフォルトの名無しさん:2012/03/13(火) 21:35:46.28
すぐそうやって無いとか死ねっていう
無いけどさ
624デフォルトの名無しさん:2012/03/13(火) 21:37:02.43
勘弁しないといわれても我々にはお出しできるものが無いのです…
我々が仕様を策定しているわけではありませんので…
625デフォルトの名無しさん:2012/03/13(火) 21:43:35.44
つIronRuby
626618:2012/03/13(火) 21:48:54.05
ありがとうございます。
クソ欠陥言語が
627デフォルトの名無しさん:2012/03/13(火) 21:51:32.34
強く同意します
我々も呆れています
628デフォルトの名無しさん:2012/03/13(火) 21:53:44.04
>>622
こういう事を平気で書くとリアルで墓穴を掘るよ
629デフォルトの名無しさん:2012/03/13(火) 21:57:04.55
強く同意します
我々も呆れています
630デフォルトの名無しさん:2012/03/13(火) 21:58:29.08
うぜーよ面白いと思ってんのか
631デフォルトの名無しさん:2012/03/13(火) 23:48:24.83
あなたの忍耐に感謝します
632デフォルトの名無しさん:2012/03/14(水) 00:02:15.34
Win8のUIってMetroとWPFの二本柱でいくんですか?
633デフォルトの名無しさん:2012/03/14(水) 00:14:16.35
沢山の選択肢の中にMetroが加わった。
ARMのタブレット向けなんかはMetroでしか開発できないけどね。
634デフォルトの名無しさん:2012/03/14(水) 00:19:27.73
デスクトップではWPFですら普及してないのにましてMetroがWindows Formを代替できるわけないじゃん。
スマホ/タブレットは、もうやる前から負けは見えてるw

開発ツールの完成度でWPの逆転を予想してる人もいるみたいだけど、
こういう考えがナンセンスなのを実証する事例って過去にいっぱいあったような....
635デフォルトの名無しさん:2012/03/14(水) 00:40:32.43
特集:Windows 8開発に向けて準備しよう
Metroスタイル・アプリの開発者が知るべき3つのこと

http://www.atmarkit.co.jp/fdotnet/chushin/readyforwin8app_01/readyforwin8app_01_01.html
636463:2012/03/14(水) 00:51:34.38
>>467
その線が有力な感じがします。
試してみます!

>>472
KeyUpメッセージの破棄も試してはいましたが、中々うまくいきません。
1.WinキーがUpとなった時にRが押されているという表現ができませんでした。
 (GetAsyncKeyState 関数を使用したがうまくいかず)

2.GetAsyncKeyStateの代わりにフラグを用いてWin + Rが押された後の一番最初のWinキーアップメッセージを破棄という方法も試しましたがこれも駄目でした。
 (Winキーアップ待ちという状態になってしまうため、例えばEキーを押すと、内部的にWin + Eとなりマイコンピュータが起動してしまう)

3.2の解決方法として、最初のWinキーダウンメッセージを破棄すれば良いと考えましたが、
そもそもWin + Rを押下した場合、キーダウンイベントは
(1)Winキーダウン (2)Rキーダウンといった順番でイベントが発生するため、
都合の良いときだけWinキーダウンメッセージを破棄するという表現方法が分かりませんでした。
長文すみません。

>>473
分かりやすい説明ありがとうございます。
スタートメニューが表示されてしまう原因がよく分かりました。
これを参考に、解決方法を考えてみたのですが
やはり467さんの方法が一番かと思いました。

>>489
そんな下らない物は作らないです。

グローバルフックの話題は荒れる原因のようなので
もう少し試行錯誤してみたいと思います。ありがとうございました。
637デフォルトの名無しさん:2012/03/14(水) 01:08:08.64
一晩寝ると詰まっていても大抵解決できるよな
十数時間コーディングしっぱなしだと勝手に手が動く簡単なのしかできなくなる
638デフォルトの名無しさん:2012/03/14(水) 01:21:06.49
普通じゃないことを無理に実装してもほかのところでそれが原因でコケて結局無意味だったことに気づく
639デフォルトの名無しさん:2012/03/14(水) 01:27:56.60
OSの中で生かされてるのにOSに逆らった行動するプログラムは糞
640デフォルトの名無しさん:2012/03/14(水) 01:31:14.45
>>634
WPで広告屋が作ったOSが駆逐されて、デスクトップと同じ感じになると予想
641デフォルトの名無しさん:2012/03/14(水) 01:36:37.16
>>612-613
this.DataBindings.Add(new Binding("TopMost", this.checkBox1, "Checked"));
ではいかんの?
642デフォルトの名無しさん:2012/03/14(水) 06:24:01.79
過疎りすぎだろ
初心者もいい加減学習するわな
こんなところで聞いてもまともな回答なんて返ってこないから無駄だってことを
643デフォルトの名無しさん:2012/03/14(水) 06:52:25.08
ファイルやフォルダを掴んでるプロセスを特定する方法ってありますか?
644デフォルトの名無しさん:2012/03/14(水) 09:20:40.56
Unlockerがドライバレベルで実行していることから考えれば分かるはず
645デフォルトの名無しさん:2012/03/14(水) 09:31:55.47
またおまえか。
646デフォルトの名無しさん:2012/03/14(水) 09:36:54.74
次にお前はこう言う、C#でAPIフックする仕方教えてください
647デフォルトの名無しさん:2012/03/14(水) 09:57:52.38
また性格悪い奴きてんの?
648デフォルトの名無しさん:2012/03/14(水) 10:10:18.13
質問してる人をからかって、ネタにしようとしている一部の奴がいるんだよな
649デフォルトの名無しさん:2012/03/14(水) 10:11:09.89
自作自演
650デフォルトの名無しさん:2012/03/14(水) 10:11:45.86
>>643
Vista以降ならこの辺参考にすればいけんじゃね
ttp://d.hatena.ne.jp/NyaRuRu/20070426/p1
651デフォルトの名無しさん:2012/03/14(水) 10:16:50.73
>>643
handle.exe
652デフォルトの名無しさん:2012/03/14(水) 12:46:23.74
handle.exeをdllみたいに使えないかな?

コマンドプロンプト出さずに結果取得したい。
653デフォルトの名無しさん:2012/03/14(水) 13:01:27.20
コマンドプロンプトのウインドウ最小化 とかじゃなくてね。
654デフォルトの名無しさん:2012/03/14(水) 13:04:29.51
ProcessStartInfoのメンバ一覧眺めれ
655デフォルトの名無しさん:2012/03/14(水) 13:10:54.72
uint[]をint[]にキャストすると”変換できません”と言われます
var int[] intArray = (int[])uintArray;
これをキャストするにはどうすればいいでしょうか?
656デフォルトの名無しさん:2012/03/14(水) 13:21:03.64
まずハローワークへ行きます。
657デフォルトの名無しさん:2012/03/14(水) 13:27:57.63
ハローワークいけたらプログラマーもどきなんてやってねーよ
658デフォルトの名無しさん:2012/03/14(水) 13:38:11.32
659327:2012/03/14(水) 13:49:20.03
>>328
ありがとうございました。
婆さんが日曜に亡くなって、葬式しててお礼が遅くなりました・・・
660デフォルトの名無しさん:2012/03/14(水) 13:54:00.20
そんな報告は要らん
661noiro:2012/03/14(水) 13:56:02.59 BE:2079510555-2BP(0)
誰かいますか?

10分前2chに登録したんですけど全くやり方わからなくって・・・

ERROR:Beポイントってなんですか?
662デフォルトの名無しさん:2012/03/14(水) 13:56:38.81
>>652
cmd /k /c
663デフォルトの名無しさん:2012/03/14(水) 13:58:38.72
標準入出力リダイレクト
664デフォルトの名無しさん:2012/03/14(水) 19:48:02.07
コンソールプログラミングで1000万以下の素数をコンソールに表示するのに5秒ぐらいで出来るのに(と言っても最後の方しか見れない)
フォームプログラミングで100万以下の素数をテキストボックスに表示させようとすると固まってしまうんですけど、なんとか出来ないでしょうか?
10万以下だと表示出来てるのでプログラミングにエラーがあるわけではないです。
665デフォルトの名無しさん:2012/03/14(水) 19:57:40.72
>>664
テキストボックスを使わなければいい
666デフォルトの名無しさん:2012/03/14(水) 19:57:59.66
表示の仕方はどうなってんだ
667664:2012/03/14(水) 20:05:10.75
>>665
ですよねw
コマンドプロンプトだと前の方が切れて観れなくなってしまうのが嫌でテキストボックス使ったんですけど
クリップボードに保存させて表示しない方針でやってみます。

>666
表示の仕方というと何を言ったら良いんでしょうか・・・
2 3 5 7 11 13
と言う風にして折り返しで垂直スクロールバー付きのテキストボックスに表示させました。
668デフォルトの名無しさん:2012/03/14(水) 20:11:51.67
毎回TextBox.Textに+=で継ぎ足してねえか
669664:2012/03/14(水) 20:13:27.17
いえ継ぎ足しじゃなくてstring型の変数に全部入れてからその変数をテキストボックスに表示させるようにしています。
670デフォルトの名無しさん:2012/03/14(水) 20:14:12.98
折り返しにしておくと垂直スクロールバーのサイズを決めるために文字列幅の計算をするから
これも何かありそう
671デフォルトの名無しさん:2012/03/14(水) 20:14:27.07
そのstringに全部入れるところで+=で継ぎ足ししてねえか
StringBuilder使うんだぞ
672デフォルトの名無しさん:2012/03/14(水) 20:22:21.86
どちらにしてもTextBoxに表示させようとしているのが間違っている
673デフォルトの名無しさん:2012/03/14(水) 21:01:12.97
trackBarのイベントで
trackBar1_Scroll と
trackBar1_ValueChanged はどう違いますか?
674デフォルトの名無しさん:2012/03/14(水) 21:05:47.72
スクロール ボックスの移動またはコードによる操作によって、トラック バーの Value プロパティが変更されると発生します。
マウス操作またはキー操作でスクロール ボックスが移動すると発生します。

ぎゃ嗚呼ああああああああああああああああああああああ
675デフォルトの名無しさん:2012/03/14(水) 21:06:13.95
なんでそこまでキーワードが出揃ってるのに検索しないの?

TrackBar.ValueChanged イベント
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.trackbar.valuechanged%28v=vs.100%29.aspx
>スクロール ボックスの移動またはコードによる操作によって、トラック バーの Value プロパティが変更されると発生します。

TrackBar.Scroll イベント
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.trackbar.scroll%28v=vs.100%29.aspx
>マウス操作またはキー操作でスクロール ボックスが移動すると発生します。
676664:2012/03/14(水) 21:18:33.39
>>671
仰る通りstringに入れるとこで継ぎ足してました。
StringBuilderとやらを知らなかったので調べて使ってみたら、無事に100万以下の素数を表示できました。
回答して下さった方々ありがとうございます。
677デフォルトの名無しさん:2012/03/14(水) 21:21:10.73
>>655
こういう方法しかないんじゃないの?
uint[]をint[]に変換するってことは配列その物の型と
その中身の型も全部変換しないと
http://ideone.com/l2Oef
678デフォルトの名無しさん:2012/03/14(水) 21:23:07.85
当然ながらuintをintにするとある数値以上を保持してる場合は
どうなるか保証はしないよ
679デフォルトの名無しさん:2012/03/14(水) 21:42:28.63
なんで 0.29000000000000004 になってしまうのか教えてください。

int a = 1;
double b = 0.71;
double c = (double)a - b;
//デバグで見ると c が になっている

//ちなみに
Debug.WriteLine("c = "+c);
//で表示させると 0.29

VisualStudio2005ですが 2008や 2010(?)でも 同様の現象になるのかも知りたいです。
680デフォルトの名無しさん:2012/03/14(水) 21:44:31.58
浮動小数点数ってのはそんなもの
681デフォルトの名無しさん:2012/03/14(水) 21:44:36.63
訂正。  なんで 0.29000000000000004 になってしまうのか教えてください。

int a = 1;
double b = 0.71;
double c = (double)a - b;
//デバグで見ると c が 0.29000000000000004 になっている

//ちなみに
Debug.WriteLine("c = "+c);
//で表示させると 0.29

VisualStudio2005ですが 2008や 2010(?)でも 同様の現象になるのかも知りたいです。

682デフォルトの名無しさん:2012/03/14(水) 21:44:59.72
そういうもの
嫌ならdecimal使え
683デフォルトの名無しさん:2012/03/14(水) 21:46:28.18
>>681
たぶんIEEEで決めた浮動小数点にしたがって計算するのは
ほぼ同じような計算誤差になると思うので気にしない方がいい
684デフォルトの名無しさん:2012/03/14(水) 21:48:55.82
ちなみになんで0.29になるかというと
Double.ToStringは暗黙にGの数値書式指定を使用するが
DoubleにGを使って精度指定を省略すると下15桁までになる
…4はもっと小さいから切り捨てられる
685681:2012/03/14(水) 21:49:52.45
マジっすか・・・・ orz
686デフォルトの名無しさん:2012/03/14(水) 21:51:15.00
浮動小数点はちゃんと理解して使わないとおかしな結果になるから勉強したほうがいいよ
たまたまDebugでうまくいくとかいい加減なことやってるとそのうち痛い目を見ることになる
勉強した上でいろいろ考えるの面倒ならdecimalが楽だけど
687デフォルトの名無しさん:2012/03/14(水) 21:51:40.53
>>685
0.290050000
こんなのが勝手に丸められると大変なことだけどねw
688デフォルトの名無しさん:2012/03/14(水) 22:02:44.64
きっと他にもif (b == 0.0)とかやっちゃってるんだろうな
689デフォルトの名無しさん:2012/03/14(水) 22:04:30.39
これだとc==0.29はfalseになっちゃうのか
690デフォルトの名無しさん:2012/03/14(水) 22:14:11.67
浮動小数点の等値比較使うと汎用的なコードにしづらくなるよな
結局用途ごとに必要な精度でイプシロン決めてしまうから
691デフォルトの名無しさん:2012/03/14(水) 22:16:24.25
地震が来たのでしばらくこのスレを開きません
逃げる準備をしておきます。
692デフォルトの名無しさん:2012/03/14(水) 22:27:56.08
値を配列に加えていく場合、
文字列だと、string mes += "A"; の様な形でどんどん加えていけますが、
バイト配列で同様のことをできないでしょうか。

データ受信した値を配列に入れていきたいのですが、
何文字受信するかわからないので、配列の要素数をあらかじめ決められないのです。
693デフォルトの名無しさん:2012/03/14(水) 22:31:32.39
List<byte>

あと一応、
>文字列だと、string mes += "A"; の様な形でどんどん加えていけますが
この認識は改めないと>>664みたいなことにはまりますよ
どんどん加えているのじゃなくて、どんどんコピーして新しく作ってるんです
694デフォルトの名無しさん:2012/03/14(水) 22:31:37.78
>>692
メモリーストリームがオススメ!IOに入ってるよ。
695デフォルトの名無しさん:2012/03/14(水) 22:33:51.07
>>692
パフォーマンスと使い勝手を考えなければQueue<byte>とかでもいいけど、
普通は目的にあったリングバッファを自分で実装すると思うよ。
696デフォルトの名無しさん:2012/03/14(水) 23:32:59.13
キーイベントで
case Keys.A
Keys.Aの部分を変数で書くにはどうかくのでしょうか?
697デフォルトの名無しさん:2012/03/14(水) 23:35:52.35
switchは定数のみ
if else if 並べる
698デフォルトの名無しさん:2012/03/14(水) 23:37:35.30
キーコードはVK_関連と同じだったはず
699デフォルトの名無しさん:2012/03/15(木) 00:19:35.72
■Amazonが「LO」5月号の販売を停止
2012年3月12日、Amazonにて「LO(エルオー)」5月号の発売が取り下げられていることが判明した。
Amazonのサイトで検索してみると最新が2011年3月号となっており、中古品の扱いしかないことが分かった。

「LO(エルオー)」は茜新社が発行している月刊誌であり、その内容は「ロリコン」にターゲットをしたエロ漫画雑誌である。
普通の人は生涯手に取ることはないだろう。

■原因は児童ポルノ反対のツイート?
ネットではAmazonに対し児童ポルノを販売しないように呼びかけたツイートが原因ではないかと推測されている。
このツイートによってAmazonにメールが送られ、結果として今の様な状況になったというののだが、真相は不明だ。

茜新社に電話確認したところ、Amazonからの通知は特になく、同社もAmazonに対し問合せ中であるとのことだ。

「児童ポルノ反対」は犠牲者になるリアルな人間がいるかどうかで区別すべきであると考える。
絵に描いた幼女のエロ漫画が好きというのは声を大にして言える趣味ではないが、そこに犠牲者は存在しない。

犠牲者のいる「児童ポルノ」とは分けて考えるべきだろう。その方が反対運動も支持者を多く得られるはずだ。
2次元の規制まで盛り込んでの運動は無理がありすぎる。

http://www.otanew.com/news_adhxrBs8ju.html
http://www.otanew.com/files/89/6028bdb5ea38fbad8d1a8694b4ded8ed.jpg
http://www.otanew.com/files/813/a59fe108f08c2a6d28bb33646db6201d.jpg
http://www.otanew.com/files/198/deb294f8708a7d12563d7923637db7a8.jpg

関連スレ

児童ポルノ反対の女性がツイッターで活動! その結果、Amazonで「LO」が販売停止に ★2
http://engawa.2ch.net/test/read.cgi/poverty/1331704630/
AmazonでLOが販売禁止か
http://engawa.2ch.net/test/read.cgi/poverty/1331562263/
前スレ
http://engawa.2ch.net/test/read.cgi/poverty/1331688037/
700デフォルトの名無しさん:2012/03/15(木) 00:23:59.13
コピペ君って馬鹿だな、まで読んだ。
701デフォルトの名無しさん:2012/03/15(木) 00:29:53.60
>>677
そんな面倒な事しなくてもArray.ConvertAllで一発。
それかLINQでSelectしてToArray
702677:2012/03/15(木) 00:32:18.84
>>701
それを待ってましたw
できそうな気もしたけどそもそもそんな愚かなことをしようと思わないので
メソッド等しらないしw
703デフォルトの名無しさん:2012/03/15(木) 01:20:16.73
調子に乗ってるな
704692:2012/03/15(木) 08:14:49.37
みなさんレスありがとうございました。

>>693
普段は組み込みのCをやっているので配列については知っているつもりなので、
C#の文字列配列はすごいことできるんだなと思ってたら、
新しく作っていたんですね。納得です。

>>694
メモリーストリームという単語は初めて聞いたので、
調べて使ってみたいとおもいます。

>>695
組み込みのCではリングバッファ使ってるんが、
C#でも同じ考え方なんですね。ありがとうございます。
705デフォルトの名無しさん:2012/03/15(木) 13:41:01.79
どなたか教えてください。
C#で
int suji = 123;
string moji = "abc" + suji;
こういう風に数値変数sujiに.ToString()を付けずなくても
結果としてmojiにabc123が代入されるのですが、
これだと何かまずいことになるでしょうか?
自分が組む時にはToString()を付けているのですが、
昔に作られたPGでおかしな挙動があり、
おかしな点が見当たらないので上記部分を疑っています。
回答よろしくお願いします。
706デフォルトの名無しさん:2012/03/15(木) 13:47:22.39
まずいことだのおかしな挙動だの、曖昧すぎて訳分からん
疑わしいのならデバッガで確認しろよ
707デフォルトの名無しさん:2012/03/15(木) 13:49:36.96
C#って暗黙の型変換許してたっけ?
708696:2012/03/15(木) 14:03:34.13
switchでは厳しいですか
VK_というのはググってもよくわかりませんでしたこれならできるということでしょうか?
やりたいことはショートカットを外部ファイルに入れておいて、プログラム起動時にそれを読み込んで
ショートカットキーを割り当てるってことなんです
709デフォルトの名無しさん:2012/03/15(木) 14:20:23.79
>>705
試してみたらビルドも通るし結果も正しいね。ただし、
int suji = 123;
string moji = suji;
これだとダメだった。

int suji = 123;
string moji = suji + string.Empty;
これだといけたので計算式ならば暗黙変換なのかな。

>>706
訳わからないなら口を挟むなよ。
スレタイ読めない馬鹿はブラウザ閉じろw
710デフォルトの名無しさん:2012/03/15(木) 14:36:45.04
バグつぶすのって結構むずかしいですね。
くじけそう・・。 ってこれ質問じゃなくてただの愚痴ですね・・。

初級者と中級者の違いは、バグをつぶしていくテクというか手法にありそうな気がする。
711デフォルトの名無しさん:2012/03/15(木) 14:43:45.98
演算子のオーバーロード。
712デフォルトの名無しさん:2012/03/15(木) 14:44:16.04
713デフォルトの名無しさん:2012/03/15(木) 15:19:23.24
>>705
http://msdn.microsoft.com/ja-jp/library/k1a63xkz(v=vs.80).aspx
>オペランドの片方または両方が文字列型の場合は、オペランドの文字列表現が連結されます。

仕様通りで問題ないな
とくにオーバーロードしてるわけでもなさそうだ
714デフォルトの名無しさん:2012/03/15(木) 15:25:27.56
C#の演算子オーバーロードって、1.0のときから出来た?
出来なかったら、その時の+演算子の仕様はどうなってたんだろうな
715デフォルトの名無しさん:2012/03/15(木) 15:26:52.57
>>709
StringクラスがObjectとの連結機能を持っているから、それが使われる。
716デフォルトの名無しさん:2012/03/15(木) 15:31:16.05
>>713
その仕様をオーバーロードしてるという。
717696:2012/03/15(木) 15:32:19.18
>>712
え、っとなのでswitchは無理ということですよね
718デフォルトの名無しさん:2012/03/15(木) 15:33:50.83
switchで可能だったとして、やりたいことが実現できるのか疑問ではある
719696:2012/03/15(木) 15:36:11.29
例えばテキストエディタとか音声プレイヤーなどではショートカットをカスタマイズして設定ファイルに記録しています
これをプログラム起動時に読み込んでショートカットを設定しているようですが
これはどのように実装しているのでしょうか?
特にswitchやifにはこだわりません
720デフォルトの名無しさん:2012/03/15(木) 15:46:06.38
Dictionaryにつっこむとか
721デフォルトの名無しさん:2012/03/15(木) 16:49:26.25
>>714
出来た

というよりも今回は演算子オーバーロードじゃない罠
722デフォルトの名無しさん:2012/03/15(木) 16:57:03.21
>>721
>>716が言うように、広い意味では、異なる型に同じ演算子を適用してるんだからオーバーロードといえるんじゃね
723デフォルトの名無しさん:2012/03/15(木) 16:57:12.30
>>696

ショートカットの設定値 = 設定を数値で読み込む;
if(ショートカットの設定値 == 押されたキーコード ){
  ショートカットが押された;
}

これでいんじゃね? 文面通りショートカットなら違う実装するかもだけど
724デフォルトの名無しさん:2012/03/15(木) 21:46:35.27
Enabledがtrueのテキストボックスで、フォーカスがあるときでもキャレットを非表示にすることは出来ますか?
725デフォルトの名無しさん:2012/03/15(木) 22:33:08.88
contextmenustripをstaticにして
アイテムいれて表示→アイテム選択orウインドウ等をクリックして消す→アイテム入れてまた表示
を繰り返すとたまに「破棄されたオブジェクトにアクセスできません。context・・・」とエラーがでるのですが
staticでも勝手に捨てられてしまったって事でしょうか?それとも表示するたびにnew するようなの?
726デフォルトの名無しさん:2012/03/15(木) 22:53:04.52
public void a()
{
  int b = func(1);
  int c = func(2);

  private func(int p)
  {
    return p + 1;
  }
}

↑みたいな、メソッド内だけで使いたいメソッドって記述する方法ありますか?
727デフォルトの名無しさん:2012/03/15(木) 22:58:11.73
メソッドの戻しが指定されてないけどほぼそれだよw
728デフォルトの名無しさん:2012/03/15(木) 23:04:20.00
>>726
var func = new Func<int, int>((p) => p + 1);

var b = func(1);
var c = func(2);
729726:2012/03/15(木) 23:13:35.10
>>727,728
ありがとうございます。

730デフォルトの名無しさん:2012/03/16(金) 01:12:30.16
オートコンプリートの順番って自分で変更することできますか? 降順、昇順などなど
731デフォルトの名無しさん:2012/03/16(金) 03:57:20.47
>>721
IL見ろ。
732デフォルトの名無しさん:2012/03/16(金) 05:35:44.67
なぜListだけForEachがあるの?
なぜDictionary/SortedListにRemoveWhereがないの?
733デフォルトの名無しさん:2012/03/16(金) 05:39:05.29
テンプレートを作る側になって考えろ
734デフォルトの名無しさん:2012/03/16(金) 06:46:03.09
>>725
どこかで自分でDisposeしてるんだろ
コンストラクタにcomponentみたいな名前のIContainer渡してないか?
735デフォルトの名無しさん:2012/03/16(金) 07:10:09.21
なんでSystem.Drawing.SizeとかSystem.Windows.Sizeとかあるんですか?
型の互換性ないし混在すると吐き気がします。
System.Drawing.SizeFなんてのもありやがる。Rectangleに関しても同じ。

もしかして設計したひとは馬鹿?
736デフォルトの名無しさん:2012/03/16(金) 07:16:18.58
「拒載韓国人(韓国人の乗車拒否)」こんな文字が台湾のタクシーに貼られていることが分かった。
韓国のインターネット上で、大きな話題を呼んでいる。

12日、韓国のコミュニティーサイトに「台湾のよくあるタクシー」「台湾の反韓感情」などのタイトルで、
台湾のタクシーの写真が投稿された。写真には女性がタクシーに乗車しようとしている場面が映っており、
開いたタクシーの窓には「拒載韓国人、NO KOREAN PASSENGER」という韓国人の乗車を拒否する文字が書かれていた。

この写真がネット上で広まると、多くの韓国人ネットユーザーが台湾タクシーの対応に反発。
「台湾はそんなに韓国人が嫌いなのか?」「私も台湾が嫌いだ」「幼稚だ」などのコメントが殺到した。

中には、「外国ではマナーを守ろうよ」「海外でK-POPや韓流は人気だけど、韓国人の市民意識のレベルはまだまだ低い」
といった意見や、「日本はほかの国々から好かれているからうらやましい」「台湾は日本が好きだよな」
「台湾は日本に植民地支配を受けたのになぜ親日なのだろう」などと日本と台湾の関係について議論する韓国人ユーザーらもいた。

韓国メディアによると、台湾内の反韓感情は、韓国が中国と国交を結んだのを機に高まった。
2004年に台湾の1人あたりのGDPが韓国を追い越した頃から、反韓感情は強まりをみせているという。
http://news.livedoor.com/article/detail/6364207/
http://image.chosun.com/sitedata/image/201203/12/2012031201423_0.jpg
737デフォルトの名無しさん:2012/03/16(金) 07:22:08.95
ネトウヨキモイ。
738デフォルトの名無しさん:2012/03/16(金) 07:24:12.77
>>735
いいえ
Drawing系はGUIを描画するだけの物じゃないし
739デフォルトの名無しさん:2012/03/16(金) 09:47:30.45
>>735
混在しねえからそれ
前者はWinForms用、後者はWPF用
普通WinFormsかWPFかによってどっちかしか使わない
740デフォルトの名無しさん:2012/03/16(金) 10:01:20.32
WebBrowserコントロールでプロパティにStatusTextChangedが表示されないので検索したら
「Browsable属性がfalseに設定されている」とありました
イベントハンドラを毎回追加するのを忘れて毎回調べることになりそうなのでプロパティに追加させる方法はありますか?
741デフォルトの名無しさん:2012/03/16(金) 10:20:36.08
継承してnewでプロパティをオーバーロードする
そういう無駄な継承はお勧めできないけど
742デフォルトの名無しさん:2012/03/16(金) 13:53:11.98
SplitContainerでpanelを丁度半分ずつになるようにするプロパティってありませんか?
743デフォルトの名無しさん:2012/03/16(金) 14:13:46.41
SizeChangeでsplit1.SplitterDistance=split1.width/2とかじゃないの
744デフォルトの名無しさん:2012/03/16(金) 15:23:07.99
それスプリッタ幅の半分だけ右か下に寄るだろ
745デフォルトの名無しさん:2012/03/16(金) 16:34:02.43
なら幅の分調整しろよ
1から10まで説明しないと何もできない子供か
746デフォルトの名無しさん:2012/03/16(金) 16:49:37.53
ゆとりを侮ってはいけない
747デフォルトの名無しさん:2012/03/16(金) 16:52:07.96
>>743
オリエンテーションの方向を見ないと
748デフォルトの名無しさん:2012/03/16(金) 17:38:59.63
オリエンテーションの条件文を追加するんじゃなくて作る奴が実装考えて判断しようぜ
749デフォルトの名無しさん:2012/03/16(金) 17:55:09.83
Set○○というメソッドに返り値を持たせて
if (!Set○○())
{
return;
}
としている動きが気持ち悪いと思うのは、感覚を治さないといけないんでしょうか?
750デフォルトの名無しさん:2012/03/16(金) 17:59:18.00
問題ない、気持ち悪く感じるのが正常だ
ていうかSetって言ってるのに引数なしかよ
あれか、設定以外の意味のSetなのかそれは
751デフォルトの名無しさん:2012/03/16(金) 18:02:29.32
格納失敗ならという意味なら受け入れられるかな
752デフォルトの名無しさん:2012/03/16(金) 18:28:12.06
SetSignal()とか…
753デフォルトの名無しさん:2012/03/16(金) 18:48:15.52
androidとC#って何も関係ないけど
androidが注目されるようになってから、C#っていうか、.NET自体廃れたな・・・
754デフォルトの名無しさん:2012/03/16(金) 18:51:43.98
formだとclosed発生するけど
controlはない

controlの場合どこに終了処理を書けばおk?
755デフォルトの名無しさん:2012/03/16(金) 18:53:46.70
Controlが終了するってどんな状況か分からない
756デフォルトの名無しさん:2012/03/16(金) 18:58:10.81
Disposedくらいしか思いつかない
757デフォルトの名無しさん:2012/03/16(金) 18:58:49.92
>>754
Formに貼り付ける部品の話なら厳密に後処理してないんじゃないの?
GC任せというか
758デフォルトの名無しさん:2012/03/16(金) 19:10:59.41
Setagaya()ならいいと思う
759デフォルトの名無しさん:2012/03/16(金) 19:19:59.21
返す内容がエラーなら正義だと思うけどな
例外はコストが掛かりすぎるし
760デフォルトの名無しさん:2012/03/16(金) 19:24:19.48
頻度によるがな
自明なものにエラー値返す必要ないし
761デフォルトの名無しさん:2012/03/16(金) 19:48:56.53
>>734
デザイナで作られるコードをほぼそのまま利用してるのでそんなことはないと思うんだけどな
762デフォルトの名無しさん:2012/03/16(金) 19:49:24.15
StreamのLength/SetLengthみたいに、
getterとsetterがプロパティとメソッドで分かれている方が気持ち悪い。
763デフォルトの名無しさん:2012/03/16(金) 21:04:37.89
正しい縮尺で画面上に描画(と印刷)したいんだけど何を設定すればいいの?
764デフォルトの名無しさん:2012/03/16(金) 21:16:50.96
モニターの型番を取得してドットピッチ得ないと無理だろ




もちろん不可能を承知で言ってるよ
765デフォルトの名無しさん:2012/03/16(金) 21:22:27.35
例えば、DPI96であれば1ドット2.54mmとして縮尺を計算することはできるように思えるが
実際はモニタのドットピッチはまちまちで、DotByDotの表示になる解像度を96としている場合が多い

2.6ミリ(23インチFullHD)だったり(25インチFullHD)2.9ミリだったりする
前者と後者だと10%以上も違う
766デフォルトの名無しさん:2012/03/16(金) 21:28:23.56
>>764、765
回答thx
できないのかー。残念
印刷でも無理?
767デフォルトの名無しさん:2012/03/16(金) 21:41:06.72
論理的には正確なデータが、デバイスの仕様のせいで正確に出力できないんで
同様のことはプリンタでも起こる可能性はあるが、基本的に問題ない
大きく表示できればうれしいディスプレイと違って、サイズが変な印刷なんかしてたら売り物にならないから
年賀葉書から印刷はみ出したらこまるっしょ

PrintDocumentなら描画するときにGraphicsを受け取れるから
その中のPageUnitを見て描けばいい
768デフォルトの名無しさん:2012/03/16(金) 21:46:40.71
ありがとう!
769デフォルトの名無しさん:2012/03/16(金) 21:56:44.17
質問があります。
http://stackoverflow.com/questions/8493559/why-is-my-image-distorted-when-decoding-as-flatedecode-using-itextsharp
このページのサンプルコードの最初の数行の変数の型がわからずキャストに失敗してしまいます。
obj
doc
tg
等の変数の型、キャストの方法を教えてください、お願いしますorz
770デフォルトの名無しさん:2012/03/16(金) 22:00:55.00
>>769
またお前か
お前センスないぞ
771デフォルトの名無しさん:2012/03/16(金) 22:09:13.69
((PRIndirectReference)obj).Number
で検索ぐらいすれ
772デフォルトの名無しさん:2012/03/16(金) 22:13:47.14
これだけじゃかわいそうだから書くけど
それは質問サイトで最初のはサンプルでもなんでもないぞ

PDFの構造はしらないけど感覚で言えば
obj 出てこない
doc 対象のドキュメント
tg ターゲットになるイメージだろ

チュートリアルあるみたいだし
それをまともに触ったら感覚つかめるんじゃないの?
わからなければまともなサンプル探して自力で考えろ
773デフォルトの名無しさん:2012/03/16(金) 22:19:33.07
このスレの人ではわからないってことでよろしいでしょうか?
774デフォルトの名無しさん:2012/03/16(金) 22:20:47.83
それで良いよ
775デフォルトの名無しさん:2012/03/16(金) 22:22:33.65
くだらんことを書くなよ
776デフォルトの名無しさん:2012/03/16(金) 22:23:36.10
どのイメージを選択するかなんてコーディングする奴の自由
そんなもんサンプルに書くかよ
777デフォルトの名無しさん:2012/03/16(金) 22:31:11.86
じぇーんじぇんわからにゃい
778デフォルトの名無しさん:2012/03/16(金) 22:51:23.60
C#初心者っていうより プログラミング初心者スレとか探してみたら?
779デフォルトの名無しさん:2012/03/16(金) 23:06:22.60
このまま続けるよりは日本語の勉強や英語の勉強や社会勉強をして下地をつけたほうがいいんじゃないか
小学生が波動方程式を周りに質問攻めで解いたところでなんの意味がある
分不相応という言葉があるだろう あと100万行経験積んで出なおしてこい
780デフォルトの名無しさん:2012/03/16(金) 23:17:40.09
論理的に正しいけど現実的に正しいとは限らない
781749:2012/03/16(金) 23:52:25.25
>>749です。
みなさん回答ありがとうございました。

SetEnv() という、xmlの環境設定ファイルを外部からメンバ変数に取りこむメソッドです。返り値はint型でした。
(メインメソッドでの使い方は前レスで書いたboolではなく、if(SetEnv() != 0){ return; } という形)
>>751さんのような考え方なら少しは受け入れられそうです。

private int SetEnv()
{
//ファイルパスはメンバ変数
if (!File.Exists(m_EnvFilePath))
{
OutLog("環境設定ファイルがありません"); //ログを書き出すメソッド
return -1;
}

m_Xml.ReadXml(m_EnvFilePath);
return 0;
}
782デフォルトの名無しさん:2012/03/17(土) 00:01:25.27
個人的にはその実装も相当気持ち悪いが
783デフォルトの名無しさん:2012/03/17(土) 00:05:49.06
見てるだけでゲロ吐きそう
レビューの時これ見せられたらLoadEnvにしろって言うわ
784デフォルトの名無しさん:2012/03/17(土) 00:06:00.43
素人が書いたjava的で気持ち悪い
785デフォルトの名無しさん:2012/03/17(土) 00:11:24.36
慣習的なもんだろうからな
だから気持ち悪いという形になって現れる
理論的じゃない
786デフォルトの名無しさん:2012/03/17(土) 00:13:09.59
確かにBeansの考え方に近いかもしれない。
フィールド設定してInitの流れだから。
787デフォルトの名無しさん:2012/03/17(土) 00:14:19.96
よく見たら最初のコードと戻り値の対応あってないな

それにc++使いにはreturn -1;が気持ち悪いはず
788デフォルトの名無しさん:2012/03/17(土) 00:15:28.29
コレくらいだったらboolにするかなぁ。
789デフォルトの名無しさん:2012/03/17(土) 00:20:58.68
本人は全く気付いていないんだろうな
恐らくC#始めたばかりの素人・・・
C#っぽくないどころのレベルじゃなくて、理論的問題がある
790デフォルトの名無しさん:2012/03/17(土) 00:23:28.22
そんな批評はいらない
791デフォルトの名無しさん:2012/03/17(土) 00:27:01.09
テクニック的な話なんですが、
バイナリデータにあるヘッダーを読み込みたいのですが、ずらっとコードを書くしかないのでしょうか?
ヘッダーには整数や倍精度が混じっていてかなりの数があります。
792デフォルトの名無しさん:2012/03/17(土) 00:27:16.59
数年続ければ妙に思うようになるだろうし、いいじゃん別に
早々しっくりこない人みたいにはならんよ

その前に飽きるだろうしね
793デフォルトの名無しさん:2012/03/17(土) 00:28:35.77
>>791
unsafe使えばstructにキャストしたりできるよ
794デフォルトの名無しさん:2012/03/17(土) 00:29:54.11
>>791
基本的にはそう
構造体とポインタ使ってという方法もあるけど

さらに別の方法もあるにはあるけどお勧めしない
795デフォルトの名無しさん:2012/03/17(土) 00:37:43.44
C#みたいな使い捨て、スクリプトなんてどんなんでもいいでしょ?
796デフォルトの名無しさん:2012/03/17(土) 00:45:50.25
ごもっともですわ
797デフォルトの名無しさん:2012/03/17(土) 00:46:12.89
>>793,794
なるほど。ちょっと構造体試してみてまずそうならずらっと書いちゃいます。
ありがとうございました
798デフォルトの名無しさん:2012/03/17(土) 00:53:42.04
なかなか良質問が来ない
799デフォルトの名無しさん:2012/03/17(土) 01:08:16.78
性悪の集うスレにはお似合いです
800デフォルトの名無しさん:2012/03/17(土) 01:21:51.72
一応初心者スレなんだから それじゃ駄目だ気持ち悪いじゃなくて
上級者の経験を生かしてどうした方がいいのか教えてあげればいいのに
悪いのは分かるけどどうすればいいかは知らないじゃ同じ穴の狢
801デフォルトの名無しさん:2012/03/17(土) 07:54:43.68
ちょっちゅねー
802デフォルトの名無しさん:2012/03/17(土) 09:58:25.57
俺♂だから狢じゃねーけど♂狸ほどでかくねーし
803デフォルトの名無しさん:2012/03/17(土) 12:22:52.78
メニューにショートカットを設定したいのですが
メニューFile(&F)->Exit(&E)ってやると、ALT+F->ALT+Eでたどれますが
これとプラスしてCTRL+EでExitに設定するにはどうやるのでしょうか?
804デフォルトの名無しさん:2012/03/17(土) 12:25:29.50
ToolStripMenuItemならShortcutKeysがある
805デフォルトの名無しさん:2012/03/17(土) 12:42:13.38
配列で作ったのを Listに直しているのですが
li[][] の li[0] を メソッドに refで渡していたのを
list化したものを refで渡そうとすると
プロパティまたはインデクサを out か ref のパラメータとして渡すことはできません
とコンパイルエラーが出ます
多次元 List の一部を参照渡しするには どう書くのでしょうか?

private void button1_Click(object sender, EventArgs e)
{
  List<List<int>> li = new List<List<int>>();
    li.Add(new List<int>());
    li.Add(new List<int>());
    li.Add(new List<int>());
    for (int i = 0; i < 3; i++)
    {
        fun(ref li[i]); //エラー CS0206: プロパティまたはインデクサを out か ref のパラメータとして渡すことはできません。
    }
}

void fun(ref List<int> para)
{
    para.Add(5);
}
806デフォルトの名無しさん:2012/03/17(土) 12:45:41.63
一度変数に代入して、変数にrefを使い、それから戻ってきた値をListに戻す

プロパティにrefやoutが使えないのは実質的にメソッドだから
807805:2012/03/17(土) 13:13:37.84
>>806
List<int> para = li[i];
fun(ref para);
li[i] = para;
こうですね。ふむふむ。

実質的にメソッドだから というのがピンとこないので調べてみようと思います。
ありがとうございました。
808デフォルトの名無しさん:2012/03/17(土) 13:15:23.45
SQLite3の公式サイトのリンクからたどれる.Net用のDLLを使ってSQLite3のデータベースからテーブル一覧を取得したいのですが
SQLite error
near ".": syntax error
ってエラーが出て困ってます
コードはこれです
connect = new SQLiteConnection("Data Source=test.sqlite");
connect.Open();
string sql = ".tables'";
SQLiteCommand cmd = new SQLiteCommand(sql, connect);
SQLiteDataReader reader = cmd.ExecuteReader();
なお、コマンドラインからデータベースファイルにアクセスして.tablesって打つとテーブル一覧を取得出来てるのでsqlの構文が間違ってはいないはずなんですが
どなたかアドバイスお願いします
809デフォルトの名無しさん:2012/03/17(土) 13:33:44.61
System.Data.SQLiteのサイトがCritical Error: SiteUrls.Configとか出てきて見れないから分からん

ソース持ってるならどんな加工してるか追っかければいい
昔見た時はあったような気がする

確かその時は混合モードアセンブリなのが気に入らなくて止めた
810デフォルトの名無しさん:2012/03/17(土) 13:51:22.32
dataGridView1.AutoGenerateColumns = false;
DataGridViewTextBoxColumn textColumn = new DataGridViewTextBoxColumn();
textColumn.DataPropertyName = "Column1";
textColumn.Name = "Column1";
textColumn.HeaderText = "Column1";
dataGridView1.Columns.Add(textColumn);
これでdataGridView1にヘッダを1個追加できたのですが、以下みたいに配列を使って動的に追加したいのです

string[] heads = new string[] {"a", "b", "c", "d"};
dataGridView1.AutoGenerateColumns = false;
DataGridViewTextBoxColumn[] textColumn = new DataGridViewTextBoxColumn();
for(int i=0; i<4; i++)
{
textColumn[i].DataPropertyName = "Column" + i.ToString();
textColumn[i].Name = "Column" + i.ToString();
textColumn[i].HeaderText = heads[i];
dataGridView1.Columns.Add(textColumn);
}
うまくいきません
どうか伝授してください
811デフォルトの名無しさん:2012/03/17(土) 13:58:25.87
根本的に配列の使い方が分かってないだろ
教えてやるから見返りに基礎やってくれ

for(int i=0; i<4; i++)
{
DataGridViewTextBoxColumn tc = new DataGridViewTextBoxColumn();
tc.DataPropertyName = "Column" + i.ToString();
tc.Name = "Column" + i.ToString();
tc.HeaderText = heads[i];
dataGridView1.Columns.Add(tc);
}
812デフォルトの名無しさん:2012/03/17(土) 14:27:35.03
radioButton1,radioButton2 と2つ配置してありまして
radioButton2がチェックされると、textBoxが表示され
radioButton1がチェックされると、textBoxが非表示となるようにしたいです。

ベタに書くとradioButton1のCheckedがtureなら、textBoxのVisbleをfalseとすればよいのですが
textBoxのDataBindingsでデザイン時に設定できませんか?
813デフォルトの名無しさん:2012/03/17(土) 14:40:05.03
>>811
ありがとうございます
これをプロパティー名を一つずつ再度確認してサンプルを作って勉強します
814デフォルトの名無しさん:2012/03/17(土) 14:40:52.82
詳細バインドでできないっけ?と思ったらオブジェクトは出てこないんだね
じゃあ無理だね
815デフォルトの名無しさん:2012/03/17(土) 17:37:32.84
フィールドに持ってるオブジェクトのイベントハンドラのスケルトンを
適当な名前で挿入してくれるアドインってある?
816デフォルトの名無しさん:2012/03/17(土) 17:58:17.69
VSのスレじゃないんで
817デフォルトの名無しさん:2012/03/17(土) 19:32:00.87
DirectWriteの使い方がわかるサイト教えてください
818デフォルトの名無しさん:2012/03/17(土) 19:46:00.74
var kakaku = new float[]{1,2,3,4}
全ての価格に1.05をかけるにはどうすればいいですか?
forループを使わないでお願いします
819デフォルトの名無しさん:2012/03/17(土) 19:47:04.60
kakaku[0]*=10;
kakaku[1]*=10;
kakaku[2]*=10;
kakaku[3]*=10;
820デフォルトの名無しさん:2012/03/17(土) 19:48:25.46
>>808
それSQLじゃなくてsqliteのコマンドだよ

select * from sqlite_master

うろ覚えだけど確かこれでとれる

821デフォルトの名無しさん:2012/03/17(土) 19:57:56.44
>>818
foreach

ループ使うんじゃねえよっていうのなら数値保持クラスを作って
消費税?計算して数値を返すメソッドを作る
822デフォルトの名無しさん:2012/03/17(土) 20:02:16.74
>>817
利用者あんまり居ないのか情報すくねーな
サンプルソースとか付いてるらしいので自力で頑張るしかないな
むしろ解説ブログとか開くチャンスじゃないか
823デフォルトの名無しさん:2012/03/17(土) 20:24:58.12
HttpWebResponceで戻ってきたXMLをファイルに書き込むにはどういればいい
824デフォルトの名無しさん:2012/03/17(土) 20:27:31.78
HttpWebResponceで戻ってきたXMLをファイルに書き込めばいいんじゃないかな
825デフォルトの名無しさん:2012/03/17(土) 20:31:50.99
826デフォルトの名無しさん:2012/03/17(土) 20:32:44.89
827デフォルトの名無しさん:2012/03/17(土) 20:47:19.78
>>819
その、中途半端なボケ割りと好きだわ

何で10倍やねん!
828デフォルトの名無しさん:2012/03/17(土) 20:57:31.17
>818
LINQを使う

kakaku = kakaku.Select(c => c * 1.05);
829デフォルトの名無しさん:2012/03/17(土) 21:07:18.19
ソケットの練習を兼ねてニコ生のコメントビューアが作りたいのですが
コメントの取得は分かりますがコメントの送信はどのようにやるのでしょうか?
830デフォルトの名無しさん:2012/03/17(土) 21:09:10.07
実現してるアプリ探してソースみろ
831デフォルトの名無しさん:2012/03/17(土) 21:09:33.59
ニコ生のAPI仕様読まないと分からんし
お前のために読むような奇特な人間もおらん
832デフォルトの名無しさん:2012/03/17(土) 21:12:07.51
けち臭いねえ
833デフォルトの名無しさん:2012/03/17(土) 21:13:47.32
タダで情報を求めておいてケチとは奇妙な話だ
834デフォルトの名無しさん:2012/03/17(土) 21:15:37.21
「使い方の分からないAPI/ライブラリの使用法を懇切丁寧に解説するスレ」

でも立てれば?
そんなとこに教える側の人が寄り付くと思うなら、ね
835デフォルトの名無しさん:2012/03/17(土) 21:15:49.00
俺昔ビューア作ったことあるから知ってるよ
836デフォルトの名無しさん:2012/03/17(土) 21:18:02.73
コメントを取得する方法は大百科に書いてあるんですけど
コメントを送信するやり方が書いてなかったんですよね
どうかお願いします
837デフォルトの名無しさん:2012/03/17(土) 21:19:55.20
どうかもへったくれもない
頼まれる筋合いもないぞ
逆にそんな筋合いあると思うのか
838デフォルトの名無しさん:2012/03/17(土) 21:21:17.78
大百科ってユーザー投稿のアレだろ?
仕様じゃねーだろ
そんなもん参考にして何をどうしようってんだ
839デフォルトの名無しさん:2012/03/17(土) 21:21:25.16
xmlをポストするだけだろうな
840デフォルトの名無しさん:2012/03/17(土) 21:21:37.35
情報がすぐに出ないってことはやってる人がすくないんだよ
スレにいる人をケチとか言う前に自分が欲してるんだから
開拓して提供する側に回れ
841デフォルトの名無しさん:2012/03/17(土) 21:23:05.94
パケットキャプチャすればたぶんわかる
842デフォルトの名無しさん:2012/03/17(土) 21:25:09.65
>>841
2chの専ブラ作るときやったわ
一応情報をまとめたサイトもあるんだけど情報が古かったりして
動かないから苦労した
843デフォルトの名無しさん:2012/03/17(土) 21:30:50.54
開発者ブログを見た感じ、ニコ生アラートとやら以外は公式に公開してないようだ。

仮に答えたとして、APIの仕様変わったらまたここに聞きにくるわけ?
冗談きついよなあw
844デフォルトの名無しさん:2012/03/17(土) 21:31:42.89
>>843
教えてくださいっていうより作ってくださいだもんな
845デフォルトの名無しさん:2012/03/17(土) 21:34:09.58
いまキャプチャしてみたらわかった。
846デフォルトの名無しさん:2012/03/17(土) 21:34:30.00
開発者ブログで「少しずつ公開していきます」とか言いながら4年放置してる態度も不愉快だ
ダブルで不愉快だ
やはりニコニコは関わる全てがクズだ
847デフォルトの名無しさん:2012/03/17(土) 21:35:04.45
>>840
やっぱそうですね
やってる方がいないと荒らす方がいらっしゃるようなのでここで消えます
848デフォルトの名無しさん:2012/03/17(土) 21:35:34.82
>>846
興味が薄れることってあるからその辺は諦めろ
本来IT関連の人ってそういう方がいい場合もあるからw
849デフォルトの名無しさん:2012/03/17(土) 21:35:41.65
おまえが荒らしなんだけどなw
850デフォルトの名無しさん:2012/03/17(土) 22:09:03.80
そもそもスレチだし
851デフォルトの名無しさん:2012/03/17(土) 22:23:40.69
俺なんかニコ生始まったその日にビューア作ったぞ
仕様なんて公開されなくても問題ない
パケットフィルタで十分だし、それ以上やりたかった俺はFlashのデコンパイルまでやったんだぞ
852デフォルトの名無しさん:2012/03/17(土) 23:01:03.79
パケットキャプチャて何使ってる?
853デフォルトの名無しさん:2012/03/17(土) 23:01:58.49
紐サメ
854デフォルトの名無しさん:2012/03/17(土) 23:02:15.26
wiresharkしかないだろ・・・
855デフォルトの名無しさん:2012/03/17(土) 23:09:08.92
ただで使って文句言うなら自分で作れと
まともに物を作った人なら思う
856デフォルトの名無しさん:2012/03/17(土) 23:22:37.39

こういうの書く奴は大抵自分中心の自己厨
857デフォルトの名無しさん:2012/03/17(土) 23:38:06.05
855「文句言っているのは相手のためなので俺は自己中ではない!使う人の身になって考えろ自己中!(キリッ」
858デフォルトの名無しさん:2012/03/17(土) 23:56:20.33
幼稚臭すぎて泣けてくるな。
859デフォルトの名無しさん:2012/03/17(土) 23:59:50.80
DataTableの中身を個別のコントロールにバインドする 方法教えてくれ
860デフォルトの名無しさん:2012/03/18(日) 00:05:38.42
まずはヤフれ、話はそれからだ
861デフォルトの名無しさん:2012/03/18(日) 00:42:17.95
>>860
黙れks
862デフォルトの名無しさん:2012/03/18(日) 00:52:18.25
ここを荒らしているのは
C#が普及すると困るJava信者かApple信者だろアホらし
863デフォルトの名無しさん:2012/03/18(日) 01:15:48.29
MouseEventArgsのX,Yはintなのに
GraphicsのDrawLine等はなぜ 始終点をfloatで指定できるのですか?
864デフォルトの名無しさん:2012/03/18(日) 01:17:10.13
Graphicsは別に画面だけが相手じゃないしなあ・・・
865デフォルトの名無しさん:2012/03/18(日) 01:40:27.88
マウスがある場所は画面のドット単位だけど
Graphicsは画面相手じゃないしな
ワールド変換とか座標空間のスケーリングも変えたりするから細かいとこまで指定できないと困ったりする
866デフォルトの名無しさん:2012/03/18(日) 01:52:37.97
GDIも画面だけが相手じゃないし、ワールド変換もなかったっけ?でもintを使うよね。
867デフォルトの名無しさん:2012/03/18(日) 01:58:08.87
>>866
設計が古いとかあるしGDIの初期の設計て
オフスクリーンバッファなどが相手でも画面周りの描画には変わりないでしょ

Graphicsはもっと後期のグラフィック関連の思想が関係してるでしょ
868デフォルトの名無しさん:2012/03/18(日) 02:19:49.44
>>862
Apple信者はMacでVS使いたいって思ってんじゃないかな
俺もWin 8 CPが糞すぎていい加減Macに移行したいけどVSないとか無理
MacにVSあればフォント綺麗だし最高の開発環境なんだがなー
869デフォルトの名無しさん:2012/03/18(日) 06:10:08.72
マシン、ユーザー、文化、全てがクリエイティヴなMacに対応しないなんて
デベロップメントツールとしては損失もいいところでしょ
870デフォルトの名無しさん:2012/03/18(日) 08:44:23.29
俺でももっと上手に釣るわ
871デフォルトの名無しさん:2012/03/18(日) 09:34:48.33
マックは素材は安っぽくてだめだわ
モスのほうがいい
872デフォルトの名無しさん:2012/03/18(日) 10:55:13.28
質問してもksみたいなあおりをするのはやっぱりどこか言語の信者立ったって訳か
873デフォルトの名無しさん:2012/03/18(日) 11:13:16.37
「電池は韓国より日本が優秀」 米テスラのケルティ氏

EV(電気自動車)スポーツカー「ロードスター」で一躍脚光を浴びた米国のテスラモーターズ。
今年、第2弾としてEVセダン「モデルS」も発売。全世界で9千台以上を受注した。
EVの心臓部であるリチウムイオン電池について、バッテリー技術部門を統括するカート・ケルティ部長に聞いた。

■韓国メーカーが車載用電池市場でも価格攻勢をかけているが、性能についての評価は?

 「サムスンやLGの場合は、他社の商品をまねするのがうまいうえが、
ただ、技術優位性では、パナソニックはじめ日本メーカーの方がやはり高い」

■どういった点で日本勢の技術レベルが高いのか?

 「日本メーカーは、高密度化など電池の性能を決定づける材料を深く知り尽くしている。
例えば、『電池の寿命が短くなったのはなぜか』との問い合わせに、すぐ対応してくれる。さらに、
材料の組み合わせによる電池の特性の変化なども深い部分で理解している。
一方、韓国メーカーに同じ質問をすると、『いろいろ試して、直すように頑張ります』となる。
材料に至るまで電池を化学的に理解しているという点で、日本は韓国メーカーより技術的に優位だ」

http://sankei.jp.msn.com/economy/news/120318/biz12031807000001-n3.htm
874デフォルトの名無しさん:2012/03/18(日) 12:41:18.18
ネトウヨきもっ
875デフォルトの名無しさん:2012/03/18(日) 16:32:50.32
>>863です。

まだ、悩んでまして・・・

Pen pen = new Pen(Color.Red);
PointF sp = new PointF(0.0f,0.0f);
PointF ep = new PointF(0.1f, 0.1f);
e.Graphics.DrawLine(pen,sp,ep);

これって、描画されているのでしょうか?
実際にやったんですが、見えなくて・・・

画面はドットの集合だと思うので、描画されないはずですよね?
876デフォルトの名無しさん:2012/03/18(日) 16:38:10.41
>>875
座標系を変えてみ
877デフォルトの名無しさん:2012/03/18(日) 16:38:50.43
0.1fでスケールをそのままで書けば1ドット未満だから
たぶん表示されないよ

ためしに1.1fでやってみなよ
878デフォルトの名無しさん:2012/03/18(日) 16:48:17.11
PageUnit で変更するんだぞ。
DrawLineはプリンタの描画にも使うから
何でもかんでもドットじゃやってられんよ。
879デフォルトの名無しさん:2012/03/18(日) 17:02:03.60
>>866
intだけど、単位が1/100インチとか1/20ポイントとか
整数で済むほど細かいからな。
880デフォルトの名無しさん:2012/03/18(日) 17:03:10.71
>>877
1.1fでは表示されます。
ですが、
それは、1なのか1.1なのかを判別できないですよね
まぁ、する必要はないですが・・・

なぜ、小数点未満が指定できるのかが知りたいのです。
指定できたとして、本当に描画されるのか
881デフォルトの名無しさん:2012/03/18(日) 17:09:14.51
>>880
だからゲーム用じゃないしなあ
それに小数点指定できることを否定するのならたとえばゲームなんてどうするんだ
内部は浮動小数点の塊だぞ

それを表示する段階でintしてるんだよ
コンピューターのディスプレイという装置を使う上では最後は必ずこれが起こる

でも内部的には浮動小数点管理してる物なんてたくさんある
むしろ表示段階の前からint管理すると誤差だらけで表示がおかしくなるケースは
結構あるよ
882デフォルトの名無しさん:2012/03/18(日) 17:09:15.56
スケール拡大すれば分かるよ
しなくていいけど
883デフォルトの名無しさん:2012/03/18(日) 17:10:16.14
みすw
>>881
>だからゲーム用じゃないしなあ
だから画面表示専用じゃないからなあ
884デフォルトの名無しさん:2012/03/18(日) 17:11:44.49
>>881
っえ?
小数点指定できることを否定するとは、どういう解釈でしょうか?
理由を伺っているだけで、否定はしていないですよ
885デフォルトの名無しさん:2012/03/18(日) 17:11:46.85
>>880
だからよ、
e.Graphics.PageUnit = GraphicsUnit.Inch;
Pen pen = new Pen(Color.Red, 0.01f);
PointF sp = new PointF(0.0f, 0.0f);
PointF ep = new PointF(0.1f, 0.1f);
e.Graphics.DrawLine(pen, sp, ep);

とかやってみろよ
886デフォルトの名無しさん:2012/03/18(日) 17:13:12.65
もういいよ。ただの荒らしだよ。
887デフォルトの名無しさん:2012/03/18(日) 17:13:24.68
まだ、やってんのかいな〜・・・

回答者も初心者かw

サブピクセル処理されるから、
PointF sp = new PointF(0.0f,0.0f);
PointF ep = new PointF(0.1f, 0.1f);
e.Graphics.DrawLine(pen,sp,ep);
としても、1/10ピクセルできちんと描画されますよ。

888デフォルトの名無しさん:2012/03/18(日) 17:14:33.29
>>887
うそいいなや
サブピクセルでいうなら1/3単位だろw
889デフォルトの名無しさん:2012/03/18(日) 17:17:12.15
>>888
おまえこそ、うそいいなや
どこから1/3なんて出てきたんだよw
890デフォルトの名無しさん:2012/03/18(日) 17:19:35.90
>>889
サブピクセルは光の三原色にあたる部分が縦長で横に3つ並んで1ドットを形成してるだけだろ

第一そこまでのレンダリングするのはそれなりの設定などしないとできないだろ
891デフォルトの名無しさん:2012/03/18(日) 17:20:59.09
以下のTをdouble と intに置き換えて計算してみるといいよ。
doubleのほうが自然に計算されてるので品質がいい。

T Val = 7;

Val /= 2;
Val += (T)0.5;

T Answer = Val;//値はなんでしょう?

892デフォルトの名無しさん:2012/03/18(日) 17:22:22.99
>>891
その辺が面倒なところなんだよな
.net的にはintとdoubleなんだが、DirectXとか一時期のAPIの影響がある部分は
floatなんだよな・・・
893デフォルトの名無しさん:2012/03/18(日) 17:23:18.18
>>880
何が聞きたいのかいまいちよく分からないけど、たぶんあなたはプログラマが
ピクセルを直接意識して描画するのが当たり前だと思い込んでる。

その前提が間違ってる。
例えば、Graphics.DrawLine(pen,p1,p2)が表しているのは、数学的な2次元の平面上の
2点を結ぶ抽象的な線分。
894デフォルトの名無しさん:2012/03/18(日) 17:23:31.21
>>891
それって、
カレーはそば屋で食ったほうが美味しいということでしょうか?
895デフォルトの名無しさん:2012/03/18(日) 17:26:52.65
>>893
3DCG周りの投影とかの概念をさらっと勉強するとわかりやすいかもね
最近の2DってZ軸などを考慮しないで3DCG周りのAPI使ってることがほとんどだし
896デフォルトの名無しさん:2012/03/18(日) 17:29:58.11
>>893

p1(0,0)
p2(0.1f,0)

この2点間の距離はいくつなのですか?
0.1[ピクセル]?
897デフォルトの名無しさん:2012/03/18(日) 17:31:45.31
>>896
0.1[ピクセル]
898デフォルトの名無しさん:2012/03/18(日) 17:33:29.64
885で終了だろ、いい加減
899デフォルトの名無しさん:2012/03/18(日) 17:36:02.71
>>896
だから、ピクセルは関係ないって言ってるでしょ。

DrawLineメソッドが指示しているのは、抽象的な2次元平面上に(0,0) と(0.1, 0.1)を
結ぶ線分を描画しろってことだけ。

その抽象的な線分がディスプレイのピクセルにどのように写像されるかは、DrawLineの仕様とは別問題。
900デフォルトの名無しさん:2012/03/18(日) 17:37:11.90
お開き

理解できないんだから説明しても無理
それかからかってるかだろうし

http://dobon.net/vb/dotnet/graphics/pageunit.html
901デフォルトの名無しさん:2012/03/18(日) 17:42:31.36
object.GetHashCode()で取得した値って、かぶる事ってある?
902デフォルトの名無しさん:2012/03/18(日) 17:42:58.95
ディスプレイの場合はプログラマが直接ピクセルを意識して描画しないと不味い場面が
あるからハードウェア的な画素を意識した描画「も」できるようになってるわけだけど、
本来はプログラマが画素を意識して描画するようなAPIの方が使いにくいという意味で特殊。

>>896はそこを勘違いしてるんだけど、どうも何度言われても理解できないのかな。
そんなに難しい話じゃないと思うんだけど。

まあ、実寸の座標系使って印刷するコードを書けば一発で分かるよ。
903デフォルトの名無しさん:2012/03/18(日) 17:44:52.25
まあ細かいことが理解できても結局プログラミングしないんでしょ
904デフォルトの名無しさん:2012/03/18(日) 17:44:53.55
レスる側が初心者ってことか、このスレは・・・
905デフォルトの名無しさん:2012/03/18(日) 17:45:21.03
>>901
オーバーライドしてたら当然かぶりうる
Int64.GetHashCodeなんかInt64をInt32に納めなきゃならんわけだし
Object.GetHashCodeも一意と考えちゃ駄目だと解説で明記してる
906デフォルトの名無しさん:2012/03/18(日) 17:45:59.23
>>904
がんばれ^^
907デフォルトの名無しさん:2012/03/18(日) 18:05:14.22
上級者は初心者スレに常駐しないだろ
908デフォルトの名無しさん:2012/03/18(日) 18:07:08.56
ごもっともですね
909デフォルトの名無しさん:2012/03/18(日) 20:58:39.55
とりあえずラスタとかベクタとかの話は余所でやれ
910デフォルトの名無しさん:2012/03/18(日) 21:42:30.75
お腹の色が玉に瑕 腹黒い 腹黒い
911デフォルトの名無しさん:2012/03/18(日) 23:45:17.65
GraphicsオブジェクトってどしてDisposeしなきゃならんの?GCは破棄してくれないんですか?PenやぶらしもDisposeしなくちゃ、いけないんですか?
912デフォルトの名無しさん:2012/03/18(日) 23:47:57.15
>>911
がんばれ^^
913デフォルトの名無しさん:2012/03/18(日) 23:53:23.85
Disposeする必要はない
内部のネイティブリソースを手動で開放する必要がある時はDisposeすればいい
手動で破棄しなくても、他のオブジェクトと同様に参照がなくなればいずれ破棄される
914デフォルトの名無しさん:2012/03/19(月) 00:28:49.08
もう目的と手段が逆になってきてないか
細かいところに目が行き過ぎてプログラム進んでなさそう
915デフォルトの名無しさん:2012/03/19(月) 01:28:43.90
>Disposeする必要はない
ふんとに?
GCは少なくともメモリが足りなくなったら走りはじめるが(それ以外のタイミングでも極力メモリ開放しようとするが)、
デバイス コンテキストみたいなWindows固有のリソースについても
足りなくなったら勝手にGCが走るのだろうか
.netのGCの仕様は知らんが、C#は言語仕様上は一応Windows専用言語ではない触れ込みなわけだが、、

使い終わったグラフィックオブジェクトをDispose()しない(using構文も使わない)
プログラムがリソース不足に直面せずに動いてるのって、たまたまでねえが?
916デフォルトの名無しさん:2012/03/19(月) 01:41:27.29
>内部のネイティブリソースを手動で開放する必要がある時
ってのがGraphicsなりPenなりを使い終わった時なんじゃない?
917デフォルトの名無しさん:2012/03/19(月) 02:22:50.97
する必要はないとか言ってもPaintで作りっぱなしとかメモリ1.5GB超えたあたりでエラー落ちするな
918デフォルトの名無しさん:2012/03/19(月) 07:26:59.05
大量に使い捨てるとか、参照握り続けてるとかなければ多くのケースで問題なく動作する。
が、問題はなくともシステムリソース持ち続けてるのは単純に気持ち悪いのでusingなりでDisposeしときゃいい。

それでも安心できない心配性のあなたにはWinDbgをお勧めする。
919デフォルトの名無しさん:2012/03/19(月) 10:54:15.05
だいたい、使えるリソース量に保障なんてないんだから
開放するかどうかにかかわらず
>プログラムがリソース不足に直面せずに動いてるのって、たまたまでねえが?
これはすべてのプログラムが該当するわな
920デフォルトの名無しさん:2012/03/19(月) 12:49:45.91
VC#2010のショートカットでCTRL+Eを押した後にCTRL+Cを押すとコメントの切り替えが出来るじゃないですか
この二段階のショートカットみたいなのがやりたいんですがこれをどのように実装したらいいのでしょうか?
921デフォルトの名無しさん:2012/03/19(月) 14:01:55.69
二段階のショートカットはユーザに評判が悪いってのが大概だから止めた方がいい
VSのコメント化もウザイんで一段階にカスタマイズしている
922デフォルトの名無しさん:2012/03/19(月) 14:03:39.53
個人用途なので配布はしないです
どのような検索キーワードでググればいいのでしょうか?
923デフォルトの名無しさん:2012/03/19(月) 15:38:35.71
2ストローク
とかでどうか。
思った通りにやってみるといけたりするぜ
924デフォルトの名無しさん:2012/03/19(月) 16:04:20.89
引数を取らない関数を実行するスレッドをThreadクラスで立てたい時はこの様にしています。
new Thread(new ThreadStart( delegate() { Console.Write("test"); } ));
なぜThreadStartDelegateをThreadStartクラスで包んでいるのでしょうか?その理由をお教え下さい。
new Thread( delegate() { Console.Write("test"); } ); と書ければいいのにと思いました。
925デフォルトの名無しさん:2012/03/19(月) 16:14:34.01
ん? それぐらいなら型推論してくれてコンパイル通るだろ?
926デフォルトの名無しさん:2012/03/19(月) 16:26:01.84
そうしておけば複数のデリゲート型に対応できるから

省略してもちゃんとコンパイルしてくれるけど
927デフォルトの名無しさん:2012/03/19(月) 16:34:17.27
>>925
おぉ、通りました。
型推論すごいですね。

>>926
複数の種類のデリゲートを受け取る関数はそのままでは作ることは出来ず、
それぞれのデリゲートをラップするクラスを作り、
オーバーロードする必要があったのですね。
関数の引数でデリゲートの名前を指定できないと知りませんでした。


おふたかた、レス有難うございました。
928デフォルトの名無しさん:2012/03/19(月) 16:43:31.51
俺なら
Task.Factory.StartNew(() => Console.Write("test")); って書くけどな
929デフォルトの名無しさん:2012/03/19(月) 21:12:16.68
フォームを非表示にしてlabelだけを表示したいので
プロパティでフォームをタイトルバーがない状態にしました
そしてフォームがロードされたときにSize = new Size(label1.Width, label1.Height);として
フォームのサイズをlabelにあわせたいのですがlabelと同じサイズになりません
private void Form1_Load(object sender, EventArgs e)
{
Size = new Size(label1.Width, label1.Height);
}
930デフォルトの名無しさん:2012/03/19(月) 21:15:22.01
clientsize
931デフォルトの名無しさん:2012/03/19(月) 23:45:43.30
ttp://dobon.net/vb/dotnet/form/moveform.html
WndProcをオーバーライドする方法で、タイトルバーをドラッグしているかのようにフォームを移動できるようにしたのですが
フォームに配置したラベルやらボタンやらの上でドラッグしても移動できません
Form1プロパティのKeyPreviewはtrueにしてあります
932デフォルトの名無しさん:2012/03/19(月) 23:55:03.84
>コントロール上のドラッグでも移動できるようにするには、そのコントロールのMouseDownおよびMouseMoveイベントハンドラに
>Form1_MouseDownおよび Form1_MouseMoveを追加します。

これやってる?
933デフォルトの名無しさん:2012/03/19(月) 23:58:20.64
aaaaaaaaaaaaaaaaaaaaaa
934デフォルトの名無しさん:2012/03/19(月) 23:58:37.29
miss
935デフォルトの名無しさん:2012/03/19(月) 23:59:08.13
>>932それですありがとうございます
936デフォルトの名無しさん:2012/03/20(火) 00:06:43.60
すいませんやっぱり動きません
[System.Security.Permissions.SecurityPermission(
から始まるやつを書いただけなのでFormにMouseDownとMouseMoveは追加してません
一応追加してみて
label1.MouseDown += new MouseEventHandler(Form1_MouseDown);
label1.MouseMove += new MouseEventHandler(Form1_MouseMove);
ってやってもダメでした
937デフォルトの名無しさん:2012/03/20(火) 00:20:34.12
おい、Panelに複数のControlを追加してるが、ちょい事情があり

1. Controlを一瞬もまったく描画したくない、常にPanel#Repaint()でPanel全領域を再描画したい
2. しかしControlのマウスイベントは受け取りたい

・・って事をしたい。うまい方法あるか?

今の所、Control#RegionでControlの描画の抑制できてるが
当然ながらマウスイベントを受け取れない。

1.が厄介でPanel#Repaint()するとPanelの非クライアント領域のみ描画して
Controlを一個一個描画って動きで、見た面にもパフォーマンスも悪いんだよ

これを抑制する方法が今の所Regionをサイズ0に設定するだけなんだが。

エロいやつたのむ
938デフォルトの名無しさん:2012/03/20(火) 01:26:59.41
WM_SETREDRAWを送って、Invalidateでもすれば?
上手いやり方は知らん
939デフォルトの名無しさん:2012/03/20(火) 02:08:47.91
>>938
それやってみたけどだめやった。そろそろ諦めて別の手考えるかな、ありがと!
940デフォルトの名無しさん:2012/03/20(火) 06:32:44.70
>>937
・SuspendLayout()
・ResumeLayout()
・Visibleプロパティ
この3つでなんとかならんの?
941デフォルトの名無しさん:2012/03/20(火) 07:14:05.06
ウィキ作った。
書くの手伝ってくれ。
http://goo.gl/3RBYF
942デフォルトの名無しさん:2012/03/20(火) 08:03:25.82
お前を殺すのは手伝うよ
943デフォルトの名無しさん
>>941
ちゃんとやりたいんだったらふざけるな。
ふざけるんだったら一人でやってろ。