- 1 名前:デフォルトの名無しさん mailto:sage [2009/08/28(金) 14:57:21 ]
- このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980を踏んだ人は新スレを建てて下さい。 >>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part43 pc12.2ch.net/test/read.cgi/tech/1248573707/
- 929 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 09:05:11 ]
- >>924
>>925 この2レスだけ読むと滅茶苦茶重くなりそうに見える。
- 930 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 09:30:51 ]
- それほどでもない
- 931 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 10:11:13 ]
- >>927
IMEで入力中の文字列を取得すればいいだけじゃん
- 932 名前:デフォルトの名無しさん [2009/09/19(土) 10:12:45 ]
- >>929
タイル(x1,y1)が(x3,y5)へ移動した場合 タイルのインデックスを書き換えるようにした方がいいですかね? タイルの座標が表示領域(およびバッファ領域)を超えた時点でインデックスが削除され インデックス(0,0)から順に描画、タイルがインデックス上に存在しない場合、インデックスを消したタイルを再利用 クラス タイル { string タイル座標; bitmap タイル画像; } クラス タイルコンテナ { }
- 933 名前:デフォルトの名無しさん [2009/09/19(土) 10:13:58 ]
- >>932
途中で投稿してしまいました orz タイルコンテナでタイルを配列かリストで管理する感じです
- 934 名前:デフォルトの名無しさん [2009/09/19(土) 10:16:34 ]
- このとき、タイルはタイル領域のサイズを知っていれば
移動量を与えるだけで自分が領域を外れたかどうか判断できると思うのですが タイルコンテナクラスのプロパティをタイルクラスから参照する方法ってありましたか? 引数で与えてやればいいだけですが
- 935 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 10:40:22 ]
- >>932
タイルということは敷き詰めるんだよな? > タイル(x1,y1)が(x3,y5)へ移動した場合 この時点で無駄でしょ。 タイルが移動するオブジェクトである必要は無い。 2次元配列(パフォーマンス的には配列の配列か)、視点(カメラ)、リソースのコンテナ、あと表示領域分の別バッファ…このあたりか 動くのは自分或いは世界ね。 怠惰なオラは>>924以前の流れは読んでないので的はずれだったらすまぬ。 ノシ
- 936 名前:デフォルトの名無しさん [2009/09/19(土) 11:32:09 ]
- >>935
なるほど スピード重視だとそうなるんですね タイル空間の座標を全タイル分用意 配列の配列には画像へのポインタ こんな感じすか? 見える範囲をキャタピラみたいなもんに描画するのと たぶん画像のポインタの切り替えや読み込みは同じなんで ループするタイルの枚数が少ない方が早い気がしますが タイルの総数が少ないと配列の方が早いんですね? 参考になりました
- 937 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 11:48:58 ]
- > 配列の配列には画像へのポインタ
もっと単純にintでもいい もしxna+xboxなら値型のほうがいいから、この場合複雑なものが入るときはstructのほうがいい > タイルの総数が少ないと配列の方が早いんですね? そうじゃないです。常に描画するのは差分だけなので描画回数等から差が出る。 別個のオブジェクトとして扱うとその最適化に悩むことになると思われる。
- 938 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 12:25:06 ]
- なーんか>>936の考えがよくわかんないね。
タイルが移動とか、どうしてそういう風に考えるんだろう。 普通に考えれば、例えば表示領域のサイズがタイルを1としたときn×mだとしたら、 (n+2)×(m+2)のサイズのバックバッファを用意して、あとは球面スクロールを 実現するために(1)バックバッファの更新方法と(2)バックバッファからのBitBltの方法 を考えるだけじゃないの?
- 939 名前:デフォルトの名無しさん [2009/09/19(土) 14:17:49 ]
- >>937
ありがとうございます。 >単純にintでもいい なるほど画像番号みたいなものですね >別個のオブジェクトとして扱うとその最適化に悩むことになると思われる。 もうすでに悩んでいるようです 言われてみて実際のサイズを考えて見たら、理論上はタイルを1として 35万×35万くらいのマップサイズになる可能性がわかりまして・・・ >>938 ありがとうございます。 こういう話に慣れてないのですみません。 単なる描画と割り切ってしまえば簡単ですね。 タイルファイルをオブジェクトとして扱わない方向で考えて見ます。
- 940 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 16:40:40 ]
- MDI フォームを作り、子ウインドウを最大化して使用しています。
ボタンをつけて、アクティブなウィンドウを変更できるようにしたのですが、 変更する際に、一瞬だけ最大化されていないウィンドウが表示されてしまいます。 スムースに切り替える方法はないでしょうか?
- 941 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 17:02:21 ]
- またそういう「ナイアル厨ホイホイ」な質問を・・・
まあ何か方法はあったはず。 MDIは他にもしょうもないバグが満載だから困っちゃうね。
- 942 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 18:02:03 ]
- 子ウインドウが常に最大化されてるんだったらMDIでなくてよくね
Panel貼っといて中身を差し替えたら
- 943 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 21:19:52 ]
- C#のお勧め書籍を教えてください。
オライリーの初めてのC#は読みましたがいまいち内容が足りない感じです。 もう少しオブジェクト指向など高度なことが学びたいのです。
- 944 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 21:54:05 ]
- おまえ、オブジェクト指向いいたいだけ違うんかと。
- 945 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 22:13:49 ]
- デザパタ本でも読めば?
- 946 名前:デフォルトの名無しさん [2009/09/20(日) 02:58:43 ]
- >>931
そのやり方が何を見ても分からないんです。 どのようにすれば、IMEから確定前の入力を拾うことができるのでしょうか?
- 947 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 06:28:31 ]
- >>946
.NETのクラスライブラリ(BCL)にはない。BCLにあるのはIMEのOn/Offくらい。 Win32APIを使うことになるが結構面倒で説明しきれない。 imm.h / imm32.lib でぐぐればいくつか出てくると思うよ。
- 948 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 10:56:44 ]
- 極東向けのおまけパッケージに、ふりがな取得する奴はあった気がする。
- 949 名前:デフォルトの名無しさん [2009/09/20(日) 14:01:20 ]
- 「性別」グループボックス内に、
ラジオボタン「男」「女」を並べています。 「男」ラジオボタンのタブストップをTrueにし、 「男」ラジオボタンにフォーカスが当たったときに、男と女を選択するようにしたいと思っていますが、 「男」ラジオボタンにフォーカスが当たった時に、 「男」が自動でチェックされてしまいます。 フォーカスは当たるけどチェックは手動で行ってもらうようにするにはどうすればいいでしょうか。 教えてください。
- 950 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 14:13:29 ]
- そういうもんだろ。
- 951 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 14:16:47 ]
- >>949
ラジオボタンはそういうもんだという気がするが、 どうしてもやりたいなら、チェックボックス使って、 排他は自分で制御とか。
- 952 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 14:18:36 ]
- そういう微妙なとこ変えられるとかえって戸惑うだろうな
そういうのって意識してなくても慣れてるもんだから
- 953 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 14:30:33 ]
- ほっとけば、選択中の項目にフォーカスするようになっているのに何がしたいのか
- 954 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 14:36:37 ]
- フォームデザイナでサイズを指定するとウィンドウの外側にあわせてサイズが指定されるんですが
枠の内側(タイトルバーなどを除いた、実際の表示領域)のサイズを指定することはできないのでしょうか?
- 955 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 14:39:07 ]
- >>950-552
そもそも>>949のいってるようなことは実際には起こらんよ。 フォーカスが当たっただけでチェックされる、なんてことはない。 そんなアホなコントロールがあるわけないだろ常識で考えても。
- 956 名前:デフォルトの名無しさん [2009/09/20(日) 15:00:40 ]
- >>955
フォーカスが当たってもチェックされないみたいだけど、 見た目はチェックされているからね。 フォーカスを当てつつ、チェックもさせないようにできないのかな。 カーソルキーやスペースを押して初めてチェックがつくように。
- 957 名前:954 mailto:sage [2009/09/20(日) 15:02:04 ]
- クライアントっていうんですね・・・
this.ClientSize = new Size(640, 480); ↑でできました ただ、これで対応した場合はフォームデザイナのほうはそのままにしておくのでしょうか? これを入力して戻っても、サイズがかわってくれません (ビルドしたらきちんとサイズは変更されています)
- 958 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 15:08:08 ]
- >>956
ごめん、言ってる意味が理解できない。 君はフォーカスが当たると「チェックされる」と言ってるか、「チェックされない」 と言ってるのか、どっちなんだ。 現実はどうかと言えば、もちろんフォーカスがあたっただけでチェックなどされない。
- 959 名前:デフォルトの名無しさん [2009/09/20(日) 16:21:25 ]
- >>958
フォーカスが当たった時に 実際はチェックされていないのかもしれないけど、 見た目は点が付いてしまっているのを、 点が付かないようにできないのかな。
- 960 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 16:26:28 ]
- それぞれが独自の意味でフォーカスという単語使ってるせいで
意思の疎通ができてませんよお前ら
- 961 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 16:50:04 ]
- タブオーダーが最初だとチェックされるね。
まあAutoCheckはずしてclickイベントで自力でやるとか
- 962 名前:デフォルトの名無しさん [2009/09/20(日) 18:46:56 ]
- タブが当たったときに、○に・がつかないようにしたいんだろ?
javaではできるみたいだけどね。
- 963 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:37:09 ]
- ListView1にあるアイテムをListViewItemの配列にまとめて入れたいんですが
foreachを使わないで簡単にできる方法ってありますか?
- 964 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:40:38 ]
- Items.Cast<ListViewItem>().ToArray()
- 965 名前:964 mailto:sage [2009/09/20(日) 19:41:23 ]
- これだと新しい配列になるから駄目か
- 966 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:43:16 ]
- 即レスどうもありがとうございました。
- 967 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:45:48 ]
- >>965
入れることができるなら新しくても何でも大丈夫です。
- 968 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 22:06:26 ]
- リムーバブルディスクなどを挿した時に走る自動実行を制御したいです。
ダイアログを出さないためにはレジストリをいじるしかないでしょうか。 作りたい機能としては、 shiftを押しながらリムーバブルディスクを挿すと自動実行のダイアログが 出てこないですが、それと同じように一時的に自動実行を無効にする 方法はないでしょうか。
- 969 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 22:51:44 ]
- >>968
有限数のマシン(XP,2k)に限り完全に機能を殺したい ってだけだったら、こっちをオススメする(C#は一切関係ない ttp://gigazine.net/index.php?/news/comments/20070131_autorun_off/ もっと便利なユーティリティを作りたいっていうんだったら全然分かりません。
- 970 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:00:17 ]
- >>969さん
ありがとうございます。 自作のプログラムが常駐している間は自動実行を 無効にして、挿さったリムーバブルディスクに対して やりたい操作をしたいので、今回お教えいただいた 方法は欲しい方法ではありませんでした。
- 971 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:27:48 ]
- ttp://www.mnet.ne.jp/~angie/kbase/xp-autorun.html
LKCUだから特に昇格とかはいらんが 再起動はどうだろ
- 972 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:29:03 ]
- LKCUじゃないや、HKCU
- 973 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:36:22 ]
- むしろTweakUIで十分じゃないかと思うなあ
再起動しなくて済む分だけ楽だし。 UI起動すらめんどいってほどの頻度で設定変更したいなら 特定アプリの特定項目を自動実行するようなユーティリティアプリを作った方が早い気がする。 //特定アプリのUI表示位置とかが変更不可能な場合に限るだろうけど
- 974 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:37:47 ]
- 968です。
>971さん やはりレジストリをいじる必要がありそうですね・・ 調べた感じ再起動も必要みたいです。 簡単にはいかないですね。
- 975 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:45:17 ]
- 968です。
>973さん 常駐プログラムがリムーバブルディスク挿しの監視 をして挿さった時にファイルコピーなどの処理をしたいので、 ユーザーが設定変更を意識しない方法をとりたいです。 自動実行を重宝しているユーザーも、もしかしたらいる かもしれないですし、この常駐プログラムが実行されている時 だけの設定変更としたいです。
- 976 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 23:53:06 ]
- >>975
そのリムーバブルディスクに何もしないautorun.infを作って入れておいたらどう?
- 977 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 00:06:02 ]
- 上の方で、ラジオボタンとフォーカスの話があったけど
マウスとキーボードの差に見えて仕方がない。
- 978 名前:968 mailto:sage [2009/09/21(月) 00:07:22 ]
- >976さん
リムーバブルディスクはユーザーが持っているものなので autorun.infなどは入れられません。 考えている仕様ですが ・常駐プログラムである ・ユーザーの持っている任意のリムーバブルディスクである ・ユーザーがリムーバブルディスクを挿したタイミングで走る ・挿した後自動でファイルコピー等の処理をする 以上のような仕様の場合、自動実行のダイアログが邪魔になります。
- 979 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 00:24:54 ]
- なんつーか、C#関係ないよね
- 980 名前:968 mailto:sage [2009/09/21(月) 00:56:40 ]
- 確かにそうですね・・・
C#を使っているので質問しました。 みなさんありがとうございます。
- 981 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 01:54:12 ]
- >>977
最初にTabStopの話しが出ているんだから、マウスとかカーソルキーとかは論外だろう
- 982 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 10:20:22 ]
- #if DEBUG
#endif みたいなかんじで #if 発行 とやるにはどうやるんでしょうか?
- 983 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 11:10:31 ]
- # 日本語でOK
- 984 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 12:14:13 ]
- Dictionary<Key,Value>で特定のKeyがセットされてるかどうか調べるにはどうすればいいですか?
if (Dictionary[key] == "") とするとセットされていないときエラーになります。 catchするしかないでしょうか?
- 985 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 12:19:03 ]
- ContainsKey
- 986 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 12:22:52 ]
- TryGetValueとかも。
というか、分からなかったら質問する前に、まずオンラインドキュメント読もうよ。
- 987 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 12:32:32 ]
- 最近少し分かるようになってきたけど
初心者にはドキュメント自体が理解できないんだよな
- 988 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 12:35:19 ]
- 確かに。しかし不思議なことにじきに理解できるようになる
- 989 名前:デフォルトの名無しさん [2009/09/21(月) 16:34:00 ]
- Framework 2.0 compacktで
非同期要求のHttpWebRequest.BeginGetResponse でコールバックメソッドに処理が戻る前に System.UriFormatExceptionが出ます リクエストは通ってるようで、データは取れてるのですが、 HttpWebResponseになにかメッセージが入ってるのでしょうか? ヒントをお願いします
- 990 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 16:52:16 ]
- RFC 2396
- 991 名前:デフォルトの名無しさん [2009/09/21(月) 17:00:28 ]
- エンコードチェックしてみます
ありがとうございました
- 992 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:01:19 ]
- WebRequest.Createの段階でUriFormatExceptionが出ないのがやや不可解
AllowAutoRedirect=true、3xxで無効アドレスでも返されてるんだろうか
- 993 名前:デフォルトの名無しさん [2009/09/21(月) 17:25:54 ]
- いえ、レスポンス見ると要求したURLから正常なデータが取れてます
ステータスOKです 具体的には今は画像のダウンロードでやってますが、画像はちゃんと表示できます HttpWebRequestが勝手に再送信を要求して通ってる・・・わけはないですよね? なんだろうな
- 994 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:31:04 ]
- その例外ってcatchしないとアプリが止まっちゃう?
それとも内部で出てるのがデバッグ出力に吐かれてるだけ?
- 995 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:31:22 ]
- パケット見てみれば?
- 996 名前:デフォルトの名無しさん [2009/09/21(月) 17:40:01 ]
- >>994
後者です catchでは掴まらずBeginGetResponseが処理を終わってコールバックメソッドに処理が戻る前に デバッグ出力に出ます >>995 パケット・・・
- 997 名前:989 [2009/09/21(月) 17:42:41 ]
- 次スレ建てました
pc12.2ch.net/test/read.cgi/tech/1253522504/
- 998 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 18:00:42 ]
- ume
- 999 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 18:01:24 ]
- 999
- 1000 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 18:02:12 ]
- 1000
- 1001 名前:1001 [Over 1000 Thread]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|