[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 04/13 15:36 / Filesize : 249 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2009/08/28(金) 14:57:21 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

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

前スレ
ふらっとC#,C♯,C#(初心者用) Part43
pc12.2ch.net/test/read.cgi/tech/1248573707/

596 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:07:08 ]
static IAsyncResult BeginXXX(AsyncCallback cb){
Action f = DoWork;
return f.BeginInvoke(cb, null);
}

static void EndXXX(IAsyncResult ar){
AsyncResult res = (AsyncResult)ar;
Action del = (Action)res.AsyncDelegate;
del.EndInvoke(ar);
}

static void DoWork(){
throw new System.Exception("例外っす");
}

static void Main(string[] args){
AsyncCallback cb = (ar) =>{
try{
EndXXX(ar);
}
catch (Exception ex){
Console.Write(ex.Message);
}
};
BeginXXX(cb);
Console.ReadKey();
}

597 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:29:04 ]
何故メインスレッドでcatchしなければならないのか

598 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:34:22 ]
コールバックではなく、メインスレッドでEndXXXを呼び出せばいい

599 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 16:22:36 ]
>>574
できました。
これを見る前に、自分で考えたので、一日かかっちゃいました。
すこしロジックが違いますが、これで動くようです。
ありがとうございました。
string[] dislikeitems = {"にがうり","ゴーヤ","あんまん"};
string[] menuitems = {"肉まん","あんまん","ピザまん","茄子","ゴーヤいり卵焼き"};
string favoritemenu = "";
bool favorite;
foreach(string item in menuitems) {
favorite = false;
foreach(string dislikeitem in dislikeitems) {
if (item.Contains(dislikeitem)) favorite = true;
}
if (favorite == false && !favoritemenu.Contains(item)) favoritemenu = favoritemenu + item + "\r\n";
}
MessageBox.Show(favoritemenu);

>>576
キャメルケース?
調べてみます。

>>577
LINQは、まだ使ったことがないので、これを機会に勉強します。
ありがとうございました。
…あ。でもこれって、ゴーヤいり卵焼きも入っちゃいますよ。
と、585さんもおっしゃってました…。
>>586
そうか、その手があるか。って、そうじゃなくって。
LINQでゴーヤいり卵焼きをのぞく方法も教えてください。


600 名前:595 mailto:sage [2009/09/08(火) 16:26:42 ]
失礼しました、デバッグ環境だとcatchしてもコードは停止するのですね…。
ちゃんとメインスレッドでcatchしてるようです。

601 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 19:07:08 ]
してねーだろw
何が起こってるか理解しろよ。


602 名前:577 mailto:sage [2009/09/08(火) 19:16:34 ]
>>599
ゴーヤを外すなんてけしからん!真夏には必須だ!

string[] menuitems = { "肉まん", "あんまん", "ピザまん", "茄子", "ゴーヤいり卵焼き" };
string[] dislikeitems = { "にがうり", "ゴーヤ", "あんまん" };

var diffSet = from x in menuitems
where dislikeitems.All((y) => !x.Contains(y))
select x;

string favoritemenu = string.Join("\r\n", diffSet.ToArray());
MessageBox.Show(favoritemenu);

603 名前:デフォルトの名無しさん [2009/09/08(火) 19:32:01 ]
InfoPath2007とC#の組み合わせで開発をしています。

入力した文字列をSQLのWhere句に入れて、
取得された結果を動的にドロップダウンリストに入れたいのですが、
テキストボックスには結果が返ってくるのですが、
ドロップダウンリストは変化がありません

while (myReader.Read())
{
this.MainDataSource.CreateNavigator().SelectSingleNode("/my:travelRequest/my:d取引先名", NamespaceManager).SetValue(myReader.GetString(0)); ←こっちがドロップダウン
this.MainDataSource.CreateNavigator().SelectSingleNode("/my:travelRequest/my:d取引先_担当者", NamespaceManager).SetValue(myReader.GetString(1) + " / " + myReader.GetString(2)); ←こっちがテキストボックス、結果返ってくる
}

すみません、どなたか教えてください。

604 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 19:54:51 ]
>>601
どういう意味で?



605 名前:デフォルトの名無しさん [2009/09/08(火) 20:01:19 ]
なんで
トライ、キャッチなんだよ。

エラーとサクセスみたいなのでいいだろうが。


606 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:02:41 ]
>>601
msdn.microsoft.com/ja-jp/library/d14azbfh.aspx

この話でしょ。

607 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:03:18 ]
は?

608 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:05:01 ]
>>605
ダサい。

609 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:24:20 ]
エラー投げるんだからキャッチで良いんじゃない。

610 名前:601 mailto:sage [2009/09/08(火) 20:24:48 ]
言葉足らずだったかな。
>ちゃんとメインスレッドでcatchしてるようです。
ここに対して言った。


611 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:27:01 ]
VS2005、C#なんですが

pictureBoxの画像をマウスドラッグでgoogleMapのように滑らかにスクロールさせる方法ってありますか?
またはこのような実装を行う方法ってありますか?

612 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:27:01 ]
>>596
>Action f = DoWork;
>return f.BeginInvoke(cb, null);

へえ、こんな風にかけるんか

613 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:29:58 ]
>>612
俺もC#勉強中でこの書き方は初めて見た。
一般的にはどうかくんだろう。誰か教えて。

614 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:39:00 ]
>>613
マルチスレッドのやり方は幾つかあるし正着ってのはないんじゃないかな。
デリゲートに包むってのはそのうちの一つに過ぎないわけで。




615 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:40:25 ]
>>613
非同期デリゲートでググれ

ちなみに、silverlightではサポートされてないので、
コンパイルエラーにはならないが、実行時にエラーが出るので注意

616 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:58:28 ]
>>614-615
ガイドサンクス

617 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 22:02:52 ]
>>576
キャメルケース。パスカル方式のことでしたか。了解しました。
string[] menuItems = {"肉まん","あんまん","ピザまん","茄子","ゴーヤいり卵焼き"};
ってことですね。
っていうか、なんでそう書かなかったんだろ。
ふだんはそう書いているんですが。

>>602
LINQの一端に触れた気がします。
fromとかinとかwhereとかselectというのが、LINQの書式なのですね。
まだ充分じゃないですけど、foreachをネストする書き方にくらべて、圧倒的にスマートなことはわかりました。
ありがどうございます。


618 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 22:06:36 ]
Camel形式とPascal形式は違う
camelCase PascalCase

619 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 23:51:21 ]
>>603
コードが読みにくい。
まさか実際のソースもそんな書き方して無いよね?
趣味で作ってるのならいいんだけどさ。

で、問題の方だけど、ドロップダウンリストに値を設定してるところがダメなんじゃない?
InfoPathは使ったこと無いからよくわからないけど。


620 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 00:48:01 ]
>>618
一応、これも書いておかないと

Upper Camel = Pascal
Lower Camel = 狭義のCamel

621 名前:デフォルトの名無しさん [2009/09/09(水) 09:22:35 ]

Bitmap BmpBuf = new Bitmap("C:\\2008052314460001.jpg");
Picture1.Image = BmpBuf;


画像が表示されません

622 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 09:29:10 ]
そうか

623 名前:デフォルトの名無しさん [2009/09/09(水) 09:35:56 ]
せめてヒントだけでも ><。。

624 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 10:20:41 ]
もうimagelocation でやれwwwww



625 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 10:41:29 ]
>>621
デバッグしてそこ実行時にBmpBufが有効か見てみたか?
Picture1ってどのコントロール?

626 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 10:42:26 ]
"C:\\2008052314460001.jpg"

@"C:\2008052314460001.jpg"
こうしたい

627 名前:デフォルトの名無しさん [2009/09/09(水) 10:48:28 ]
>>625
BmpBufはnullでなくサイズプロパティは読み込んだ画像のサイズでした
>>626
あーそういう意味だったのか @使います



628 名前:デフォルトの名無しさん [2009/09/09(水) 10:50:00 ]
>>625
Picture1はPictureBoxです

629 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 10:53:33 ]
それはちゃんとFormに貼り付けられてるのか
何かのコントロールの後ろに隠れてないか
サイズが0,0になってたりFormの表示範囲外にいってたりしてないか

630 名前:デフォルトの名無しさん [2009/09/09(水) 11:18:33 ]
>>629
もう一度一から貼り直してやってみます
コードは間違ってはいませんよね?

再描画されないかもしれないのはおいといて

631 名前:デフォルトの名無しさん [2009/09/09(水) 11:23:00 ]
>>630
うまくいきました!!

デザイナのコードが壊れてたみたいです

632 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 11:23:16 ]
>>611
paintでGraphicsのDrawImage使うといい。

633 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:12:39 ]
C++のデザパタに片足突っ込んだ程度の経験なんですが、
今回.NET Framework 4.0が面白そうな事になってるのを聞き及び、C#に手を出してみようかと思っています。
C#のオススメの教本とかあったら教えてもらえませんでしょうか?

634 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:20:31 ]
.NET4ってそんなに面白そうなフィーチャーあったっけ
DLRやPLINQなんか.NET触ったことない人には全く分からないだろうし



635 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:27:34 ]
>>632
ドラッグ中MouseMoveイベントで毎回それやってpictureBoxリフレッシュすると滑らかにならず・・・

636 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:49:42 ]
>>635
どんな環境でどうやってんの?
こっちで試す限りでは普通になめらかに動くよ。
Bitmap毎回作ってるとか?

637 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:43:13 ]
>>636
よっぽどでかくなきゃそれでもまぁいけると思うぞ
Disposeしてなさそうだけど(Disposeいるっけ?)

638 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:31:59 ]
breakについて教えてください。
for (int i = 0; i < 10; i++) {
foreach(string line in lines) {
if {//条件。
break;
}
}
}
で、ifの条件が一致したとき、この位置にbreakを書くと、foreachは終了しますが、外側のforは終了しません。
どこに書けば、外のforも終了できますか?


639 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:36:37 ]
for (int i = 0; i < 10; i++) {
bool exit = false;
foreach(string line in lines) {
if {//条件。
exit = true;
break;
}
}
if (exit) break;//外のforを抜ける
}
もしくは,
for (int i = 0; i < 10; i++) {
foreach(string line in lines) {
if {//条件。
goto EXIT;
}
}
}
EXIT:

640 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:40:30 ]
>>639
ラベルに命令はんないといけないから
EXIT:;じゃね?

641 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:43:09 ]
そうだけど後にステートメントが続くならセミコロンは普通書かない

642 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:47:43 ]
>>641
コンパイル通るの?
前ここではまったんだけど

643 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:48:38 ]
別のアプローチとしてはforを別の関数に切り出してreturnで抜けるというのもある。

644 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:53:44 ]
>>642
通る例
EXIT:
  Console.WriteLine(x);
}
通らない例
EXIT:
}
とにかく後にステートメントがあればいい。セミコロンだけの場合は空のステートメントがあるとみなされる。



645 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:55:44 ]
>>644
じゃあ>>639は嵌るべ

646 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:03:03 ]
>>639
thanks.

647 名前:デフォルトの名無しさん [2009/09/09(水) 23:37:40 ]
C♯で拡大鏡はできますか?

648 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 23:49:15 ]
うん

649 名前:デフォルトの名無しさん [2009/09/10(木) 00:27:42 ]
とあるクラスにA1〜A5というプロパティがあるんですが
配列のindexのように参照する方法はあるでしょうか?

650 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 00:34:43 ]
ない

651 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 01:17:53 ]
>>649
A1〜A5の型が同じなら、とあるクラスにインデクサを実装すればいい。
まぁ、こんな事するんじゃなくてA1〜A5を格納するAってリストを作るべきだ。

652 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 01:58:11 ]
.netってスタティックリンクライブラリって使えないの?
DLLは作れるみたいだけどLibファイルのようなものは作れないのかな

653 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 02:00:44 ]
必要ないだろ

654 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 02:05:08 ]
作れるよ



655 名前:デフォルトの名無しさん [2009/09/10(木) 06:30:54 ]
>>648
どんなメソッドを使えばできますか?

656 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 07:33:35 ]
Graphics.CopyFromScreen

657 名前:デフォルトの名無しさん [2009/09/10(木) 12:06:35 ]
重大ニュース スレは★30までいく

【国際】 中国 「IT製品、ソースコード開示せよ」…日本側が撤回求めるも、予定通り実施へ★4
tsushima.2ch.net/test/read.cgi/newsplus/1252535413/
「ソースコード開示せよ」…中国が外国企業に要求
pc11.2ch.net/test/read.cgi/prog/1221835452
23 :名無しさん@十周年:2009/09/10(木) 02:28:25 ID:UeD78g5r0
李鵬が言ってた、20年後に日本なんてなくなるって、こういう事か。
40 :名無しさん@十周年:2009/09/10(木) 02:35:03 ID:BKKfZepB0
トヨタがプリウスで儲けれるのも来年までなんだね。

鳩山幸さんはサイエントロジーというカルトと関係があるという噂があります。
an★tikimchi.see★saa.net/art★icle/127578850.html
↑ 日本アンチキムチ団

鳩山幸さんの旧姓が不明だそうですよ。

764 名前:可愛い奥様[] 投稿日:2009/09/06(日) 01:04:07 ID:/WrcABwtO
北海道苫小牧在住の者ですが、老人ホームで暮らす朝鮮人のお婆ちゃんから聞いた話です。
幸夫人のごお父様は中国人ではなく、キム・ジョンウォン(漢字不明)という朝鮮北部出身の貿易商だったようです。
戦後は日本に渡り、幸さんが渡米するまでは神戸の商社に勤めていたようです。
キムさんは幸さんが渡米した直後、北海道室蘭に引っ越し、貿易商を営みながら総連支部の設立に尽力されたと話しておりました。
中国語・英語・ロシア語がお上手だったようですね。
【ファーストレディー】鳩山幸をウォッチするスレ 2
hideyoshi.2ch.net/test/read.cgi/ms/1252279762/


658 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 14:33:30 ]
>>652
ILMerge を使えば、複数のアセンブリを一つにできる。

659 名前:デフォルトの名無しさん [2009/09/10(木) 15:20:01 ]
DataRowの各項目はキャストしないとobject型のようなんですが、

if (rowA["HOO"] == rowB["HOO"])

みたいな比較は、右辺左辺両方が同じ型?(stringとかint)であることが事前に分かって
いれば、キャストせずに比較しても正しい比較結果が得られますでしょうか?

660 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 15:23:42 ]
得られません。常に参照比較になってしまいます。
Object型のままで値を正しく比較したければEqualsメソッドを使います。

661 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 20:50:57 ]
プロセスの終了について質問があります。
写真をまとめてみたいと思って、
string[] files = Directory.GetFiles(@"c:\photo", "*.jpg");
foreach(string file in files) {
photoProcess = new Process();
photoProcess.StartInfo.FileName = file;
photoProcess.Start();
}
Thread.Sleep(1*60*1000);
if (! photoProcess.CloseMainWindow()) {photoProcess.Kill();}photoProcess.Close();photoProcess.Dispose();
とやって見たところ、開いて1分待つところまではよいのですが、最後に閉じるのが1枚だけで、あとのウィンドウは開いたままになってしまいます。
こういう場合は、どうやればぜんぶのウィンドウを一括してクローズできるか、ご教示いただけないでしょうか。


662 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 20:51:47 ]
>>652
csc.exe /target:module
ちなみに
Q. Visual Studio 開発環境でこのコンパイラ オプションを設定するには
A. Visual Studio 開発環境では、モジュールの作成はサポートされていません。


663 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 20:54:39 ]
>>661
各Processオブジェクトを配列にでも突っ込んで、
終わるときはそれらを順にCloseMainWindowしてけばいい

>>662
moduleもダイナミックリンクだぜ

664 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 20:55:39 ]
>>661
関連づけされてるアプリ次第。別々にプロセスが立ち上がるなら、
ここのプロセスをそれぞれ閉じるしかないよ。



665 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 21:06:46 ]
終了もforeachすればいいのかなとは漠然と思うのですが、この方法でcloseするにはそれぞれのプロセス名を知る必要があって、それを取得する方法がわからずにおります。
>>663
オブジェクトを配列につっこむ方法を教えてください。
>>664
プロセスを取得してってこと?
プロセス名だと、ファイル名まではわからないんじゃなかったでしたっけ?
ペイントだと、mspaint.exeとか?


666 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 21:10:00 ]
>>665
違う。アプリによっては、ひとつのプロセスで複数のウィンドウを開く形になる。
たとえば、デフォルト状態の Explorer とかね。

その場合、最後とのプロセスを殺せば、勝手にまとめて死んでくれるってわけ。

#「ここのプロセス」は「個々のプロセス」ね。

667 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 23:13:46 ]
>終了もforeachすればいいのかなとは漠然と思うのですが、この方法でcloseするにはそれぞれのプロセス名を知る必要があって、それを取得する方法がわからずにおります。
なんためにphotoProcess変数を使ってるんだ?
同じことを配列(まあListとかのがいいけど)に入れる形でやればいいだけだろ?


668 名前:デフォルトの名無しさん [2009/09/10(木) 23:14:57 ]
>>656
これは画面キャプチャだね。
これで取得したオブジェクトを拡大させるってこと?
やはり難しそうだなぁ。

669 名前:デフォルトの名無しさん [2009/09/10(木) 23:48:01 ]
仮想リストビューに1000件くらいのアイテムを表示して
一件ずつループ処理でsubitemを書き換えてリストビューのRefreshメソッドを実行するのですが
書き換えた内容が描画されない
表示するアイテムリストとアイテムはそれぞれ専用のクラスを作って管理してて、
書き換え後にアイテムのクラスを見るときちんとデータが入ってる
どんな原因が考えられる?

670 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 23:52:09 ]
ListView.RetrieveVirtualItemはちゃんと発生してますか?

671 名前:669 mailto:sage [2009/09/10(木) 23:56:05 ]
>>670
発生しておりまする
リストビューが表示されたときにはCSVから読込まれたデータが
表示されてる状態

672 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 00:13:36 ]
微妙に671の回答がずれてる気がしないでもない
Refreshしたときに、RetrieveVirtualItemがちゃんと表示領域分発生してるんだね?

673 名前:669 mailto:sage [2009/09/11(金) 00:22:03 ]
ステップインで確認したらちゃんと発生してますよ
てか、RefreshでRetrieveVirtualItemが発生しないことってあるのん?

674 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 00:34:28 ]
確認だよ確認 質問者の画面は見れないんだから
で、RetrieveVirtualItemで生成するListViewItemにはちゃんと変更後のデータ入れてる?



675 名前:669 mailto:sage [2009/09/11(金) 00:41:30 ]
入ってますよ

676 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 00:43:39 ]
ちなみにBeginUpdateとEndUpdate使っても駄目そうですか?

677 名前:669 mailto:sage [2009/09/11(金) 00:56:49 ]
だめでした
やろうとしてる編集を最初からCSVにしておくと
読み込むときにきちんと描画される
只単にアイテムを編集しただけでRetrieveVirtualItemでやってることは
最初に読込むときと全く同じなんだけどな
なんか足りないのか

678 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 01:07:45 ]
>>667
できました。ありがとうございます。


679 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 01:08:24 ]
コード見ないと分からんね

680 名前:669 mailto:sage [2009/09/11(金) 01:14:53 ]
private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
{
if (0 <= e.ItemIndex && e.ItemIndex < ItemList.Count)
{
e.Item = ItemList.Items[e.ItemIndex];
}
}
private void button1_Click(object sender, EventArgs e)
{
foreach (Item item in ItemList.Items)
{
item.SetResult("○");
listView1.Refresh();
}
}

コードこんだけ

681 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 01:29:03 ]
listView1.Refresh();をループから出す

682 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 01:36:07 ]
起きてる人ー
みんなでH-IIBロケットの打ち上げを見守ろう!
2時ごろ打ち上げだよ!
www.jaxa.jp/countdown/h2bf1/live/h2bf1_300k_j.asx


683 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 02:47:38 ]
板違い。
まぁ、俺も別のとこで打ち上げ見てたけどね。

684 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 08:18:35 ]
.asxとか死ねよと



685 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 09:43:30 ]
設定ファイルを作ってそこから設定を読み込もうとしています
設定ファイルはこんな感じです

#setting.txt
#aの値を書き込んでください
a=1
#bの値を書き込んでください
b=hoge
#cの値を書き込んでください
c=hoge hoge

#(#以外でも構いません)で始まる行はスキップ、それ以外の行は=の右辺を取得して変数に代入
このような場合はどうすればいいのでしょうか

686 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 09:51:04 ]
string line; に対して、
line[0] == '#'
line.Split('=')[1]
か、正規表現使うか。

687 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 09:52:57 ]
>>685
iniファイルを連想した。
あれのコメントは;だったが。
もし、iniファイルで…ということならWin32APIを呼び出せばOK

688 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 09:58:29 ]
フォーマット変えていいならXMLを使うことを強くお勧めする
XmlSerializerとか使えば一瞬でできる

689 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 10:23:27 ]
>>680
Item型は?

690 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 10:38:53 ]
>>686-688
アドバイスを参考に調べてみます
ありがとうございました

691 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 11:35:54 ]
【国際】 中国 「IT製品、ソースコード開示せよ。情報漏洩はないから」…日本側が撤回求めるも、予定通り実施へ★5
ttp://tsushima.2ch.net/test/read.cgi/newsplus/1252552869/

692 名前:669 [2009/09/11(金) 12:50:04 ]
Itemクラス

class Item : ListViewItem
{
string _columns[] = new string[3];
public Item(string[] columns)
{
_columns = columns
}
public Column0 { get { return _columns[0]; } }
public Column1 { get { return _columns[1]; } }
public Column2 { get { return _columns[2]; } }
}

今職場だから思い出して適当に書いてみたけどこんな感じ
何の変哲もない保持用クラス

693 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:13:14 ]
SetResultメソッドとやらでSubItems[n].Textに転写してる?

694 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 14:35:54 ]
肝心な部分が書いてないっていうね



695 名前:685 mailto:sage [2009/09/11(金) 17:51:22 ]
頭こんがらがってきた;;

class Program
{
//第一引数にファイルパス、第二引数にオプション名を入力
static void Main(string[] args)
{
string line = "", option_value = "";
using (StreamReader sr = new StreamReader(args[0], Encoding.GetEncoding("Shift_JIS")))
{
do
{
line = sr.ReadToEnd();
if (line.Split('=', '\n')[0] == args[1])
{
option_value = line.Split('=', '\n')[1];
break;
}
}
while (line != "");
}
Console.Write(option_value);
}
}

行頭#スキップがどうすればいいのわかりません…

696 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 17:56:15 ]
そんなもんif(line[0]=='#')continue;でいいだろ

697 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 18:01:42 ]
素直にGetPrivateProfileStringとかInt使ってくれない?
面倒くさいからさ。

698 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 18:05:43 ]
よく見ると色々おかしい気がする

699 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 18:09:59 ]
#以前に滅茶苦茶すぎる

700 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 18:16:47 ]
File.ReadAllLinesの方が良くねえ?
ファイルを行ごとに取り扱うのにReadToEndで読む必要性が分からん。

string optionValue = "";

string[] lines = null;

try {
lines = File.ReadAllLines(args[0], Encoding.GetEncoding("Shift_JIS"))
}catch{
lines = new string[0];
}

foreach (string line in lines) {

// 空行と先頭'#'のスキップ
if ((line == String.Empty) || (line[0] == '#')) {
continue;
}

//行をトークン分解
string[] toks = line.Split('=');
if ((toks.Length == 2) && (toks[0] == args[1])) {

optionValue = toks[1];
break;
}
}

Console.Write(optionValue);

701 名前:685 mailto:sage [2009/09/11(金) 19:09:59 ]
ごめんなさい…
あっちこっちのをペタペタ貼ってたらひどいことに…

>>696
>if(line[0]=='#')continue;
文字列からそうやって一文字抜きだせるんですね
「なんで配列?」ってよくわかってませんでした
ありがとうございます

>>697
>GetPrivateProfileString
こういうのもあるんですね
調べてみます

>>698-699
もうしわけありません…

>>700
>ReadToEnd
ReadLineにしてたつもりが、いつのまにか入れ替わってましたorz
わざわざありがとうございます
これ見てもうちょっと勉強してから出直してきます

702 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:21:44 ]
>>701
var setting = File.ReadAllLines("setting.txt")
.Where(s => s[0] != '#')
.Select(s => s.Split('='))
.ToDictionary(ar => ar.First(), ar => ar.Last());

でも、設定保存ならXmlSerializerのほうがいいよ。

703 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:25:38 ]
XmlSerializerだと人手で読み書きするのが面倒臭いじゃん
だから未だにiniの需要が一定量あるんだろう

704 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:29:38 ]
何にせよ自作は時間の無駄
#を値の中で使いたいときとかどうするんだ
人間にとっての読み書きのしやすさを重視するならiniでもいいし,
属性形式のXMLを使うという手もある(XmlSerializerで可能)



705 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:33:17 ]
キーはユーザが決めるモンじゃないから別に値の中で使っても良いんじゃないかな

706 名前:704 mailto:sage [2009/09/11(金) 19:33:24 ]
すまん行単位か

707 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:38:32 ]
作ってみたいだけかもしんないし、あんまとやかく言うのも野暮。

708 名前:685 mailto:sage [2009/09/11(金) 19:47:42 ]
たくさんのご意見ありがとうございます
いろいろ調べてみましたが、>>700さんのがやりたいことに一番近い(ような気がします)
他の方々の意見もとても勉強になりました

基本からもう一度やりなおすことにしますorz

709 名前:669 [2009/09/11(金) 20:23:33 ]
>>693
何回もレスして貰って申し訳ないけど、最初に言ったとおり
RetrieveVirtualItemで書き換えられたItemがe.Itemにセットされてるところまで
確認してるんですよ
e.Itemにちゃんと書き換えられたItemがセットされてるにのListViewの表示が更新されないので
嵌ってるわけですよ

710 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 20:27:54 ]
ごちゃごちゃうるせえ SetResultのコード出せよ
って言ってるんですよ

711 名前:669 mailto:sage [2009/09/11(金) 20:57:38 ]
public void SetResult(string s)
{
_column[3] = s;
}

少し感じ悪いレスしてしまって申し訳ないと思ってるが
↑を見てなにかわかるとは思えないっす

例えば

private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
{
if (0 <= e.ItemIndex && e.ItemIndex < ItemList.Count)
{
e.Item = new Item(ItemList.Items[e.ItemIndex]).Columns;
}
}

としてやれば、リストに表示されるアイテムが毎回動的に生成されるわけだから
表示も当たり前に更新される訳だが、VirtualModeのお作法として正しいのだろうか
VirtualModeのDocumentが少なすぎて仕様がわからん・・・

712 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:06:11 ]
なんでコード出てくるたびに仕様が変わってんだ
ItemクラスのColumnsプロパティって何だよそんなの前回はなかったじゃねぇか

とにかくSetResultでSubItems[3].Textにもsを設定しろ

713 名前:669 mailto:sage [2009/09/11(金) 21:16:56 ]
例えばって言ってるじゃん
だいたい何でstring同士で出したり入れたりしてんのに
Textプロパティなんていうめんどくさいものつくらにゃならんの?
わざわざSetResultメソッドの為だけにTextプロパティ作るの?
きちんと代入できてるって言ってるのにそこにこだわる理由はなに?

714 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:20:41 ]
何だこいつ
質問してる身なのに偉そうだな



715 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:24:50 ]
なんで例えるんだよ

ItemはListViewItemを継承している
RetrieveVirtualItemではItemのインスタンスを返している
Itemはフィールドにstring[]を保持している
ここまでは合ってるよな?

ListViewがView.Detailsのときに各カラムに表示できるのは
ListViewItemのSubItemsに格納されているListViewSubItemのTextプロパティだけ
Itemがフィールドに何持ってようが関係ない

プロパティ作れなんて誰も言ってない

716 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:27:48 ]
昨日から思ってたけど>>669の態度酷すぎだろ。

あとね、documentのせいではなく、自分の能力のせいだと思われ。
この程度の事も分からないとは。

717 名前:669 mailto:sage [2009/09/11(金) 21:36:34 ]
理解した。申し訳ありませんでした。

718 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 22:52:50 ]
なんで
自分のやり方でうまくいってないから質問したのに
しかも正しい回答されてるのに逆切れするとか
理解の範疇を超えてる。


719 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 04:56:50 ]
Visual Studio 2008 で C# を使い始めたんですが
ListboxやPanelなどをウィンドウのリサイズに合わせて適宜変更(最大化)するには
プロパティのどの項目を設定すれば良いのでしょうか?

720 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 05:34:33 ]
AchorとかDockプロパティでググレ

721 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 05:48:48 ]
>>720
ありがとうございます。できました。

722 名前:デフォルトの名無しさん [2009/09/12(土) 15:35:30 ]
物件検索ファームを作成しました。
テキストボックスに例えば「2CH」と入力すると、
そのテキストボックスの右隣に、
「2CHハイツ」
「2CHマンション」
「メゾン2CH」
と検索に合致する物件をリスト表示させたいと思っています。

その際、
テキストチェンジイベントでパネルを表示させることができたらと思いましたが、
1.パネルを表示させたい箇所に別のパネルがあるので埋もれてしまう。
 Z順序が生きてしまい、欠けてしまう。
2.パネルではなくフォームでやろうとすると、どちらかのフォームしかアクティブにならないので、使用が困難。
という状態にあります。
どのようにすればよいのでしょうか。

723 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 16:01:56 ]
>>722
オートコンプリートなら?
www.atmarkit.co.jp/fdotnet/dotnettips/423autocompsource/autocompsource.html

724 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 16:10:06 ]
>>722
言ってる意味がよく分からないけど、Zオーダで別のコントロールの背後に隠れるなら
問題だというのなら、最前面に持ってくれば済むことに思うんだが・・・

>>723
オートコンプリートと>>722の言ってることは違うと思う



725 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 16:57:38 ]
インクリメンタルサーチだろ

726 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 17:29:45 ]
部分一致のことを「インクリメンタルサーチ」と呼ぶのか一般的に?

727 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 17:36:53 ]
>テキストチェンジイベントでパネルを表示させることができたら

こう言ってるから多分インクリメンタルサーチで合ってんじゃね。
単なる部分一致なら検索ボタンどうのこうのとか言い出すと思う。

728 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 17:40:23 ]
(若干意味不明ではあるが)たった数行の質問なんだからちゃんと読んでやれよまったく。
そうやって下らん反論をしてる間に読めるんじゃないの?

729 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 17:44:20 ]
フヒヒwwwすみませんwww

730 名前:デフォルトの名無しさん [2009/09/12(土) 18:11:37 ]
質問だがフォームに2枚のパネルを置く。
1枚はDockをLeft、
もう1枚はDockをFILLにする。
で、さらに1枚のパネルを、上記2枚にまたがる位置に置くとする。
こいつは、普段は見えないが、あるケースのときだけ前面に出したい。
これは可能?
通常は上記2枚のパネルのいずれかの配下に置かれるので、表示されても一部が欠けるはずだ。

731 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:29:55 ]
>>730
質問だがって何だよ。
>>722と同じ人物だろお前さん。
まあ別にいいけど。

君はコンテナって概念がよく分かってないんだね多分。
そんなの第三のパネルを別のパネルの子コントロールにしなきゃいいだけ。

732 名前:デフォルトの名無しさん [2009/09/12(土) 20:01:10 ]
>>731
どの子にも属さないようにできるんだっけ。

733 名前:Indropilly mailto:sage [2009/09/12(土) 20:12:51 ]
登録選手
Kameni
Cristian Alvarez
Chica
Pillud
Roncaglia
Forlin
Young
David Garcia
Moises Hurtado
Ivan de la Pena
Joan Verdu
Luis Garcia
Javi Marquez
Corominas
Ivan Alonso
Marques
Raul Tamudo
Alley
Ben Sahar
Nakamura.

734 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 20:13:02 ]
(フォーム以外の)どの「親」(コンテナ)にも、ね。

デザイナを使ってそういう状態、つまりパネルAの上にパネルBが「重なった」
(BはAにcontainされてない)状態を作りたいなら、BのZオーダーをまず最前面にしておいてから、
マウスではなくカーソルキーで移動させるか、プロパティグリッドで座標を直接指定すればいい。



735 名前:デフォルトの名無しさん [2009/09/12(土) 21:54:34 ]
>>734
なるほどー!

736 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 05:48:23 ]
ドキュメントアウトライン使ったら一番楽だと思う。

737 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 06:10:06 ]
すみません、質問なんですが・・・

XnaGameStudioの3.1をインストールして、C#でプログラミングをしようと思ったら、
それまでの(インスト前のXnaGameStudio3.0)で開けた.csprojファイルが開けなくなってしまいました。
自分なりに調べて、VC#やXnaを再インストしたりとかしたんですけど、
Xnaで作ったプロジェクトだけを開けない状態になっているようなんです。

ちょっと一人では直せそうに無いので、対処方法を教えてもらえませんか?

738 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 06:18:50 ]
その csproj をテキストエディタで開いて ProjectTypeGuids だか
なんだかを編集すればいいだろたぶん
値は 3.1 の対象プロジェクト新規作成して調べれ

739 名前:737 mailto:sage [2009/09/13(日) 07:35:03 ]
>>738
プロジェクトを新規作成しようとしても、OK押した後にcsprojを開けず、
「そのプロジェクトの種類はこのインストールでサポートされていません」
と出てしまいます。
最初に書いてませんでした。すみません。

740 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 07:41:36 ]
>>739

テキストエディタで開いて

って言ってんだろ

741 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 07:44:12 ]
>>739
>「そのプロジェクトの種類はこのインストールでサポートされていません」

謎だなぁ
まっさらに戻さないといけないかもねー

742 名前:737 mailto:sage [2009/09/13(日) 08:00:07 ]
>>740
すみません。また言葉足らずでした。
開けない既存プロジェクトの.csprojをテキストで開くのはいいんですが、
3.1の対象プロジェクトを新規作成しても、そのプロジェクトも開けない状態なので、
開けないプロジェクトを参考にして値を変更するのはどうなのかなと思いまして・・・

>>741
やっぱ最終的にはそうしないとダメっぽいですかね・・・
なぜかXnaを通してないcsprojファイルは開けるんですが。

743 名前:737 mailto:sage [2009/09/13(日) 08:01:48 ]
'schemas.microsoft.com/developer/msbuild/2003' の 'PropertyGroup' には無効な子要素 名前空間 'schemas.microsoft.com/developer/msbuild/2003' の 'XnaFrameworkVersion' が含まれています。
必要とされる要素は 名前空間 'schemas.microsoft.com/developer/msbuild/2003' の 'Property' です。

'schemas.microsoft.com/developer/msbuild/2003' の 'PropertyGroup' には無効な子要素 名前空間 'schemas.microsoft.com/developer/msbuild/2003' の 'XnaCompressContent' が含まれています。
必要とされる要素は 名前空間 'schemas.microsoft.com/developer/msbuild/2003' の 'Property' です。

'schemas.microsoft.com/developer/msbuild/2003' の 'PropertyGroup' には無効な子要素 名前空間 'schemas.microsoft.com/developer/msbuild/2003' の 'XnaCompressContent' が含まれています。
必要とされる要素は 名前空間 'schemas.microsoft.com/developer/msbuild/2003' の 'Property' です。

'schemas.microsoft.com/developer/msbuild/2003' の 'ItemGroup' には無効な子要素 名前空間 'schemas.microsoft.com/developer/msbuild/2003' の 'NestedContentProject' が含まれています。
必要とされる要素は 名前空間 'schemas.microsoft.com/developer/msbuild/2003' の 'Item' です。

'schemas.microsoft.com/developer/msbuild/2003' の 'ItemGroup' には無効な子要素 名前空間 'schemas.microsoft.com/developer/msbuild/2003' の 'BootstrapperPackage' が含まれています。
必要とされる要素は 名前空間 'schemas.microsoft.com/developer/msbuild/2003' の 'Item' です。

.csproj内での↑の部分が警告されていて、この部分のせいで開けないんですかね?

744 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 08:02:52 ]
これXNA認識されてなくねw?



745 名前:737 mailto:sage [2009/09/13(日) 08:23:29 ]
>>744
まじですか・・・
Xnaもサイト手順に沿ってインストしたつもりだったんですが・・・orz

746 名前:デフォルトの名無しさん [2009/09/13(日) 13:30:07 ]
本スレで質問したのですが、ふらっとへ誘導されましたのでおたずねします

基本的な型を宣言したアセンブリAに
クラスa1
があります。
a1にはpublicなメソッドa1do()があります。
コントロールを継承したアセンブリBに
クラスb1
があり
クラスb1は参照設定をAに設定し、a1をインスタンスとした変数b1a1をpublicで宣言しています

コントロールを配置したアセンブリCのクラスc1でアセンブリBを参照設定し
クラスb1をmyb1として変数宣言して、インスタンスを代入しています

myb1.b1a1.a1do();

をc1から呼び出すときアセンブリAへの参照設定が必要というエラーがでます
参照を設定すれば問題なく動きます

参照を設定しない場合、アセンブリBにアセンブリAの内容を含めてしまえば問題はないと思うのですが
それをせず、参照設定もせずに上記の呼び出しを行う方法はありませんか?
アセンブリA アセンブリBは将来他プロジェクトで使う予定もあり、参照の設定をシンプルにしたいのです。
特にアプリケーションCからはクラスb1しか宣言してないのでAに参照設定が必要というのがわかりにくいのですが
そういう場合の解決方法を教えてください

よろしくお願いします

747 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 13:42:22 ]
Aの存在を一切アセンブリBの外に見せないようにする。
全ての操作がBに定義されたクラスだけで完結するようにAをラップしてしまう。
参照設定がうざいとかそういうレベルにとどまらず,
そのほうが設計的に利用者にとって分かりやすくなる。

748 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 13:44:13 ]
>>746
System.Reflection.Assembly.LoadFileで対象のアセンブリを動的にロードした後、
Assembly.CreateInstanceでインスタンスを作成する。

というか他のプロジェクトで参照の設定をさせたほうが圧倒的にメンテナンスコストが低いと思う。

749 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 13:47:28 ]
ここでリフレクションとかないわ・・・

750 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 13:47:55 ]
>>748
そういうことするんだったらBのほうを動的にロードするべきだと思うよ
Aにはインターフェイスだけ宣言しといて,Bをプラグインみたいな扱いにする

751 名前:デフォルトの名無しさん [2009/09/13(日) 14:03:09 ]
>>747
わかります。基本的にaはprivateで宣言して変数はプロパティ、メソッドはメソッドで隠蔽すべきですよね。
ただ、bのバリエーションが非情に増えそうな予感がしたので本来なら多重継承させたい状況なのです。
そうでないなら、publicでそのまま使わせた方が楽かと・・・
ご意見ありがとうございました。

>>748
>他のプロジェクトで参照の設定をさせたほうが圧倒的にメンテナンスコストが低い
そうですか。あまりへんてこなことでもないんですね・・・・ありがとうございました。
リフレクションについてもう少し勉強してみます。

>>750
なるほど、ただ、Aに含まれるのはベーシックな数値計算などですから
インターフェイス化しても同じ計算をあちこちで書くことになりそうです。
ただ、AとBの関係をCからは同列にしてBをプラグインみたいにする考え方もありますね。
非情に参考になりました。ありがとうございました。

やはり参照設定をして、Aをそのまま使っていくのがバージョンの変更などにも対処しやすく
メンテナンスコストもよさそうなので、そうしたいと思います。
しかし、いろいろな方法をご提案いただいて非情に勉強になりました。

ありがとうございました。

752 名前:748 mailto:sage [2009/09/13(日) 14:03:12 ]
参照設定しないで別のアセンブリを使いたいっていうだけの話だと早とちりしてた。
>>747で十分だね。申し訳ない。

753 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:38:35 ]
unless を使いたい時にC# ではどう書くのが良いのでしょうか?

例えば指定したディレクトリがなければ処理をしたいときに

if (Directory.Exists(dir) == false)

このような書き方をしてるのですが、
冗長ですのでもっとすっきりした書き方はないでしょうか?

754 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:41:14 ]
意味が分からない



755 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:42:04 ]
!
が分からないってこと?

756 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:47:19 ]
>>755
!が使えたんですね、ありがとうございます。

757 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:48:30 ]
出来ました^^
if (Directory.Exists(dir) != true)



758 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:49:36 ]
ワロス

759 名前:デフォルトの名無しさん [2009/09/13(日) 14:55:27 ]
>>752
とんでもありません。おかげでひとつ勉強になりました。

760 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:21:41 ]
チェックボックスについて教えてください。
FormにcheckBox1とbutton1を配して、button1をクリックしたときに、checkBox1にチェックしたいと思います。
イベントハンドラに
this.button1.Click += new System.EventHandler(this.checkBox1_CheckedChanged);
を登録し、
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
MessageBox.Show("changed");
}
として実行すると、ボタンを押したときにメッセージが表示されるので処理は行われます。
しかし、チェックボックスのチェックが入らないのです。
チェックボックスにチェックを入れるには、どこでなにをしたらよいんでしょう?
マウスでチェックボックスをチェックする以外の方法をお願いします。


761 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:24:47 ]
いや、その、CheckBoxのチェック状態を変更するコードは…?

762 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:29:02 ]
foo = treeview1.Nodes.Add("foo");
foo.ImageIndex = 1;
foo.SelectedImageIndex = 0;

の代わりに

treeview1.Nodes.Add("foo").[ImageIndex,SelectedImageIndex] = [1,0]

のようにしてインスタンス変数をまとめて変更することはできますか?

763 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:30:14 ]
なにこの「ぼくのかんがえたすごいしーしゃーぷ」

764 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:31:58 ]
>>761
そう、それが見つからないんです。




765 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:35:18 ]
お願いだからメンバ一覧くらい読めよ
msdn.microsoft.com/ja-jp/library/system.windows.forms.checkbox_members.aspx

checkBox1.Checkedな

766 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:37:13 ]
>>763
欲しい機能があるかどうかを質問するのがそんなに悪いことでしょうか?

767 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:37:49 ]
>>762
treeView1.Nodes.Add(new TreeViewNode("foo", 1, 0));

ぼくのかんがえたすごいしーしゃーぷ により近い書き方もある
treeView1.Nodes.Add(
 new TreeViewNode { Text = "foo", ImageIndex = 1, SelectedImageIndex = 0 });

768 名前:767 mailto:sage [2009/09/13(日) 15:40:36 ]
TreeNodeの間違い

769 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:46:06 ]
無いって言うと何でですかって聞き返してくるからなw
気持ちは分からんでもない。

770 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:48:14 ]
>>765
ありがとうございました。できました。
msdnのメンバ一覧の読み方がすこしわかってきました。
感謝です。


771 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:24:04 ]
WindowsFormアプリケーションの質問です。
チェックボックスリストを使って、ある項目を選択できるようにしているのですが、
チェックをつける際に、マウスをダブルクリック(行を選択→チェックをクリック)しないと、チェックがつきません。

これは仕様でしょうか?

772 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:46:10 ]
チェックボックスリストって何?

773 名前:771 mailto:sage [2009/09/13(日) 18:48:16 ]
すみません。
CheckedListBoxです。

774 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:58:02 ]
デフォルトの動作はそうなってるな
CheckOnClickで違う動作もとれるが



775 名前:771 mailto:sage [2009/09/13(日) 19:30:45 ]
一発でチェックがつきました!
ありがとうございました。

776 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 20:09:23 ]
初歩的なことですみません。
for (int i = 2; i < args.Length; i++) {
allArgs = allArgs + args[i] + " ";
}
って
allArgs = string.Join(" ", args, 2, args.Length - 1);
じゃないの?

インデックスおよびカウントはバッファ内の場所を参照しなければなりません。
とかいわれて困ってます。


777 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 20:14:10 ]
最後の引数は結合する要素数
i=2から始まってるからargs.Length-2個だ

778 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 20:22:51 ]
なおforで回す方は最後に" "が一つ付くがJoinの場合付かない

779 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 20:48:41 ]
MSDN読めよ

780 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 21:56:05 ]
>>777、778
thanks.
>>779
sorry.

String.Join メソッド (String, String[], Int32, Int32)
指定した String 配列の各要素間にある指定した区切り記号 String を連結し、連結された単一の文字列を作成します。パラメータには、最初の配列要素と、使用する要素の数を指定します。

パラメータ
separator String。
value Stringの配列。
startIndex 使用する valueの最初の配列要素。
count 使用するvalueの要素の数。

読まないわけじゃないんだけど、これ、訳が悪すぎて、ぜんぜんわかんないんですよ。

たとえばですが、

String.Join メソッド (String, String[], Int32, Int32)
String.Join メソッド (separator, value, startIndex, count)
配列の区切り文字を削除して連結した文字列を作成します。Int32パラメータには、連結する最初の配列番号と使用する要素の数を指定します。

パラメータ
separator 区切り文字
value 連結するString配列
startIndex 使用する配列の最初の番号
count 使用する配列の数

とかならまだわかりやすい気がします。
msdnをすらっと読んで理解できる方が羨ましい。
なんか読むコツがあるんですか?


781 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 21:58:27 ]
日本語の勉強

782 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 21:59:13 ]
ひたすら読んで、書き方の「クセ」みたいなのを理解するしかないんじゃないかな

783 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 22:03:44 ]
だいたい配列を扱うメソッドの引数って
(配列, 最初のインデックス, 要素数)
と決まってるんだよね

784 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 22:03:46 ]
>>545
FFにあるでしょ?
アビリティーって



785 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 22:05:02 ]
配列の区切り文字を削除、って何言ってんの?

786 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 22:13:51 ]
指定した String 配列の各要素を連結し,単一の文字列を作成します。各要素間には指定した String を区切り文字として挿入します。

こんな感じ?

787 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 22:22:27 ]
>>780
パラメータの説明はもう少し詳しく書いてあってもいいとは思う。

separator 区切り記号
value 連結される String の配列
startIndex 使用する value の最初の要素インデックス
count 使用する value の要素の数

とか。まあパラメータ名で大体分かるけど。

788 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 22:23:52 ]
WindowsXP+C#2008で質問があります。
エクスプローラでjpgファイルのプロパティでコメント欄に書いた文字を読みたいのですが、どのようにしたらよいですか?

//読み込む
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(imgFile);
//Exif情報を列挙する
foreach (System.Drawing.Imaging.PropertyItem item in bmp.PropertyItems)
{
//データの型を判断
if (item.Type == 2)
{
//ASCII文字の場合は、文字列に変換する
string val = System.Text.Encoding.ASCII.GetString(item.Value);
val = val.Trim(new char[] { '\0' });
//表示する
listBox1.Items.Add("ID=" + item.Id + " type=" + item.Type + " value=" + val);
}
else
{
listBox1.Items.Add("ID=" + item.Id + " type=" + item.Type + " value=" + item.Len);
}
}
bmp.Dispose();

というのを試しているのですが、コメント欄の文字は表示されません。


789 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 22:26:57 ]
プロパティのコメントって副ストリームに書いてある奴じゃねーの

790 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 22:32:32 ]
>>788
ttp://ant0x.udap.jp/tips/tips_fileSummaryInfo.htm

791 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 23:08:57 ]
>>790
System32のほうは、
型 'Shell32.FolderItem' を 'Shell32.FolderItem2' に暗黙的に変換できません。明示的な変換が存在します。(cast が不足していないかどうかを確認してください)
でエラーで動かず。
DSOFile.dllのducPropertyのほうは、なにも値が表示されません。
DSOFile.OleDocumentPropertiesClass ducProperty = new
DSOFile.OleDocumentPropertiesClass();
DSOFile.SummaryProperties summary;
// 読み込みのテスト
string imgFile = @"c:\image.jpg";
ducProperty.Open(imgFile, true,
DSOFile.dsoFileOpenOptions.dsoOptionDefault);
summary = ducProperty.SummaryProperties;
listBox1.Items.Add("Title : " + summary.Title);
listBox1.Items.Add("Subject : " + summary.Subject);
listBox1.Items.Add("Author : " + summary.Author);
listBox1.Items.Add("Keywords : " + summary.Keywords);
listBox1.Items.Add("Comments : " + summary.Comments);
listBox1.Items.Add("Category : " + summary.Category);
listBox1.Items.Add("RevisionNumber : " + summary.RevisionNumber);

Title :
Subject :
Author :
Keywords :
Comments :
Category :
RevisionNumber :
という文字だけ追加されました。


792 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 23:16:08 ]
死ね

793 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 23:37:09 ]
>型 'Shell32.FolderItem' を 'Shell32.FolderItem2' に暗黙的に変換できません。明示的な変換が存在します。(cast が不足していないかどうかを確認してください)
>でエラーで動かず。

こんなエラーも対処できないなら畑でも耕してろ。

794 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 23:59:39 ]
VBで修業したらいい。



795 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 00:06:43 ]
VistaだとExifデータとして0x9C9B-0x9C9Fの辺りにUnicodeで格納されとるのぅ

796 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 04:11:52 ]
dobon.net/vb/dotnet/graphics/getexifinfo.html
でいいんじゃないの?

797 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:36:53 ]
明らかに788はそこを参考に書いてあるように見えるが駄目なのかしら

798 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:37:19 ]
どうやらExifじゃなくてAlternate Data Streamに格納されているらしいねそれ。
www.codeproject.com/KB/cs/ntfsstreams.aspx
頑張れ。

799 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 14:00:07 ]
それも789で試してんだろ
書き込む前にレス追えバカ

800 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 14:10:32 ]
どうしてたった数レスが目に入らないんだろう…

801 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 14:37:37 ]
教えたがりだから。

802 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 14:37:42 ]
>>791
>>796で行けたよ。
ただし、Typeは1で、中身はUnicodeだから
Encoding.ASCII.GetStringからEncoding.Unicode.GetStringに変更
ちなみにコメントのIdは0x9c9cらしい

803 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 18:05:19 ]
Directory.GetDirectoriesについての質問失礼します

ドライブ内のすべてディレクトリを対象にディレクトリ名で検索したいです。
そこで、Directory.GetDirectoriesの第二引数でAllDirectoriesを指定するという方法でとりあえず作成してみました。

このプログラムは一応正常に動作しているのですが、「C:」ドライブのすべてのディレクトリを検索させようとすると
「System Volume Informationのアクセス権がない」といったエラーが出て止まってしまいます。
「System Volume Information」の中身は検索対象に含めるつもりはないのでスキップしたいのですがその方法がわかりません。

AllDirectoriesを使わずに自前で再起処理などで検索していくしかないのでしょうか
どうかご指導お願いいたします。

804 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 18:14:40 ]
うんそう諦めて



805 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 20:09:56 ]
もし自分に「Program Files」とか見る権限がないばあいはエラーキャッチでスルー

806 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:34:47 ]
>>804
そうですか…。

>>805
それも考えたのですがキャッチ後にそのまま続行する方法がわかりません
ネットで調べたところVBにはCatch ex As Exceptionというのがあるそうなのですが
C#でもそれと同じようなことができるのですか?

807 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:36:38 ]
なんでヘルプ読まないの?

808 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:41:05 ]
これはひどい

809 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:56:04 ]
>>806
プログラム向いてないから畑でも耕してろボケナス
罵られてもなお続けたいなら↓読め

例外処理ステートメント (C# リファレンス)
msdn.microsoft.com/ja-jp/library/s7fekhdy%28VS.80%29.aspx

あとこれも全部読め
msdn.microsoft.com/ja-jp/library/618ayhy6%28VS.80%29.aspx

810 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:01:26 ]
キャッチスルーと書いたけど、そんなのかっこよくない。
だいたいc:が読めないからスルーしたら終わるw

素直に権限ない場合%userprofile%とか検索するプログラム書いて分岐。

もしくは根本的に検索するべきなのか考え直せぇ

811 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 00:03:45 ]
百姓を馬鹿にしている奴が昨日から1人いる…。

812 名前:デフォルトの名無しさん [2009/09/15(火) 09:19:31 ]
たいがいそいつはもとはひどい百姓だったんだよ

でも>>809-810こいつらはきわめて優しいと思うぞなかなか真似できん

813 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 09:34:51 ]
まあキャッチスルーじゃそもそも出来ないんだから、
MSDN見れなんてのはあんまいい回答とも思えんしな。


814 名前:デフォルトの名無しさん [2009/09/15(火) 11:48:52 ]
y=(2 * Math.Atan(Math.Exp(f)) - PI / 2) / (PI/180);

ある座標変換系コードを検証してんだけど、これはつまりなにやってんの?



815 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 11:56:01 ]
数学板で聞いた方が早いんじゃない?

816 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 12:06:42 ]
Directxでフォームとは別のクラスを作ってそこでDirectxの処理をして
ピクチャーボックスに表示したいんですがどうしたらいいんでしょうか。
今はDirectXのデバイスにピクチャーボックスのハンドルを入れたらいいのかなと
思ってやってるんですが間違えてますか?


public Intptr GetHandle()
{
PHandle = PictureBox1.Handle;
}

デバイスにPHandleをいれる。
private bool InitializeGraphics()
PHandle = GetHandle();
device = new Device(0, DeviceType.Hardware, PHandle,・・・・・);

817 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 12:18:54 ]
ドキュメントで引数の型を見ろよカス

818 名前:デフォルトの名無しさん [2009/09/15(火) 12:20:43 ]
>>815
ですよねー

トン

819 名前:デフォルトの名無しさん [2009/09/15(火) 12:23:54 ]
プログラミング板から誘導されました

y=(2 * Math.Atan(Math.Exp(f)) - PI / 2) / (PI/180);

ある座標変換系コードを検証してんだけど、これはつまりなにやってんの?

820 名前:デフォルトの名無しさん [2009/09/15(火) 12:24:36 ]
ゴバーク orz

821 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 12:26:29 ]
カワイイなお前

822 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 12:37:35 ]
>>818
型が違うとだめなのか。どうもありがとう

823 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 14:26:21 ]
正規表現で「ASCII文字を許す。ただし例外として "<"と">"は不許可

ってどう書けばいいんでしょうか?

824 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 14:38:26 ]
[ -;=\?-~]
空白からセミコロンまで、等号、疑問符からチルダまで

※試してません



825 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 16:00:42 ]
質問させて下さい。
ここの過去スレで読み取り専用でListを公開したい時はReadOnlyCollection
で渡すと良い、という事を知りました。
同様にDictionaryを読み取り専用で公開したい場合、ReadOnlyCollection
の様な方法は用意されているのでしょうか?無い場合、どのような方法が
より安全でしょうか?


826 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 16:03:58 ]
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

requestからファイルサイズを習得しようとすると-1になるのですが、
どうしたら正しいファイルサイズが習得できますか?。



827 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 16:07:46 ]
>>826
HttpWebRequestからファイルサイズとか取れないだろ。
何をどうやって取ろうとしてるの?

828 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 16:13:57 ]
>>825
自分で作る 大した手間じゃないよ

829 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 16:15:20 ]
>>827
httpwebrequest.contentlength

あ、これはリクエストする方のサイズなのですね
ごめん

830 名前:デフォルトの名無しさん [2009/09/15(火) 22:43:26 ]
C#でiphoneのアプリ開発やったことある人に質問なんですが
使い勝手や感想を教えて下さい

831 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:44:56 ]
すいません
mono touchのことです

832 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:49:47 ]
>>830-831
消しゴムじゃないMONOを使ってみるスレ 2個目
pc12.2ch.net/test/read.cgi/tech/1100616350/l50

833 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 22:56:31 ]
>>832
スレ違いでしたか
助かります

834 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 00:34:00 ]
RealProxyがよくわからないんですが、わかりやすい解説サイトないでしょうか?



835 名前:デフォルトの名無しさん [2009/09/16(水) 04:16:34 ]
テキストボックスをマルチラインの設定で
複数行入力されたテキストにより、スクロールバーが表示されている状態から
テキストボック本来の開始位置からの座標を取りたいのですが
良い方法はないでしょうか?

Point mp = Control.MousePosition; //マウスカーソル位置の画面座標取得
Point cp = textBox1.PointToClient(mp); //textBoxの座標に変換

としているのですが、スクロールバーによる表示されていない部分が無視されます。


836 名前:デフォルトの名無しさん [2009/09/16(水) 07:25:02 ]
長い文章を指定した文字数で
改行し行揃えする関数は標準で用意されてますか?

String.Format ではできなさそうでした。

837 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 07:27:09 ]
ありません

838 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 08:05:20 ]
ありがとうございました。

839 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 10:09:15 ]
File.Existsって、*file.txtのようにワイルドカードは使えないんですか?
01file.txt
02file.txt

などのどれかにヒットさせたいときには、
string[] files = Directory.GetFiles(dir, "*file.txt");
して、確認しないとだめなんでしょうか?


840 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 10:14:13 ]
そうよ

841 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 10:26:09 ]
ありがとうございました。

842 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 11:15:26 ]
イメージリストからイメージを取り出す方法はありませんか?
それとイメージリストにイメージを登録した時点でリサイズされてしまうのでしょうか?。
それとも表示する時にリサイズされるだけ?。

(Image)imagelist_listview.Images[listView1.SelectedItems[0].Name];



843 名前:842 mailto:sage [2009/09/16(水) 11:26:49 ]
>>842
事故
関係ない所で間違っていました

844 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 11:33:25 ]
ImageList.ImagesからImage取得した時点で画像のコピーが作られるから
頻繁に出し入れするならImage.Disposeを忘れないようになー



845 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 11:50:11 ]
usingばっちこい

846 名前:デフォルトの名無しさん [2009/09/16(水) 16:51:46 ]
Stackを配列から初期化するには
forでまわして一個ずつpushするしかないのでしょうか?

もしくは

Stack.Pop() も forループ も使わずに
配列の先頭要素を除いた残りの配列を返す方法はありますか?

847 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 16:53:38 ]
Stackの用途間違えてる
リンクリストでも使えよ

848 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 17:14:02 ]
consセルでおk

849 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 17:22:27 ]
2008Expressでjitを使えるようにする方法はないものでしょうか?

850 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 17:24:02 ]
Just In Time = ちょうどそのとき

そのときになにをしたいの?

851 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 17:25:39 ]
俺用語使われるとエスパーの出番しかなくなって

852 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 17:37:42 ]
>>850
どうでもいいけど、英語圏でjitはもはや動詞として使われてるよw
JIT - JITs - JITted - JITting

意味はもちろんJITコンパイルすること。対義語はto AOT

853 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 17:38:18 ]
で?

854 名前:デフォルトの名無しさん [2009/09/16(水) 17:40:43 ]
だからなんなんっていう。



855 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 17:43:59 ]
849にしかわかりません

856 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 17:45:29 ]
そうすると英語圏的にはトヨタ完全敗北なのか

857 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 18:50:06 ]
その通り

858 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 19:28:48 ]
JITって見てこれを思い出したけど間違ってたみたいだね。

Just-In-Time デバッグ:
msdn.microsoft.com/ja-jp/library/5hs4b7a6%28VS.80%29.aspx

859 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 23:39:15 ]
>>814
亀レスで、もう数学板の方でレスついちゃってるかもしれないけど、一応

双一次変換のアナログ周波数→ディジタル周波数の計算式じゃない?

860 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 00:24:32 ]
なんとなく交流理論でよく使う極座標表示関連の式のように思うけどね。

861 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 00:35:24 ]
>>860
ufcpp.net/study/digital_filter/bilineartrans.html
この双一次変換の周波数特性の式に、ωa = exp f を入れた式かと。
対数周波数(= オクターブ)を双一次変換でディジタル化したときの特性周波数だなぁ、多分。

862 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 00:36:11 ]
atan だから逆か・・・

863 名前:デフォルトの名無しさん [2009/09/17(木) 05:01:07 ]
ジェネリック配列にテキストボックスのテキストを改行区切りで
= Text.Replace("\r", "").Split(new char[] { '\n' });
としたいのですが、どのように処理すればよいでしょうか?

864 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 05:09:15 ]
ジェネリック配列?
ジェネリックも何もString.Splitの左辺はstring[]しかありえないが?



865 名前:863 mailto:sage [2009/09/17(木) 05:19:34 ]
ありがとうございます。
string[]しか無理なのですね・・
動的に配列を追加していきたいもので・・・

866 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 05:25:03 ]
もうちょっと広い範囲で何をしたいのか書いた方がいいかも
List<string>にstring[]をAddRangeすることはできる
もちろんList<string[]>にAddすることも

867 名前:863 mailto:sage [2009/09/17(木) 05:43:05 ]
AddRangeで実現することができました!
ありがとうございます!!
勉強不足ですいません!

868 名前:デフォルトの名無しさん [2009/09/17(木) 10:23:27 ]
C#で予め用意された値型構造体やString型クラスは
=演算子で構造体またはクラス変数にそのままメンバ値を代入できますよね

これってユーザ定義構造体またはクラスで実現できますか
調べてみたら、=演算子のオーバーロードはできないみたいだし、
インデクサは配列メンバにしかアクセスできないし。。。
プロパティでpublic this{ get; set; }みたいできたらいいんですが。。。

869 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 10:26:02 ]
はぁ?

870 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 10:28:10 ]
もしかしてリテラルが使いたいってこと?
string x = "str"; int x = 100; こういうの
暗黙の型変換(implicit operator)を実装すれば Hoge x = 1; とかできるようになる

871 名前:869 mailto:sage [2009/09/17(木) 10:31:44 ]
ああそういうことですか。煽って申し訳ない。

872 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 10:35:13 ]
>>868
勘違いしてそうだけど
string x = "str" って,xが指してるStringオブジェクトのメンバを変更してるんじゃなくて
新しいStringオブジェクトを作ってその参照をxに代入してるんだよ

873 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 10:35:41 ]
え?そうなの?
じゃあやっぱ煽ろうかな。

874 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 10:40:40 ]
文字列リテラルで新しいオブジェクトはまずい表現だがまあ初心者スレだからいいか。



875 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 13:53:28 ]
>>863
Textbox.Lines

876 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 14:08:49 ]
このようにしてイメージリストにアイコンを入れてみたんですが
これを取り出す方法が分からないので教えてください。

imageList2.Images.Add("rar", appIcon);

877 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 14:12:50 ]
imageList2.Images["rar"]

878 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 14:15:21 ]
>>877
ありがとうございます。無事出来ました。

879 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 16:51:07 BE:185292342-2BP(85)]
>>874
可能です。
以上。
はい次の方。

880 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 17:41:44 ]
listViewで最後の項目を選択したいです。
listBoxの場合には、
listBox.SetSelected(listBox.Items.Count -1, true);
でできるのですが、listViewの場合には、どのようにしたらよいでしょう?


881 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 17:50:32 ]
Itemsから最後の取得してSelected

882 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 18:12:41 ]
listView.Items.のあとに、選択系のそれらしきものがないんですけど…。

883 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 18:15:21 ]
ListViewItemのプロパティ

884 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 18:27:45 ]
なんか江戸っ子みたいな一言居士な方ですね。
そうぶっきらぼうにいわず、プロパティのどの項目か、
もうすこし手順まで教えていただけないでしょうか。
listViewのItemsのプロパティを見ると、
(コレクション)とか書いてあって、
ここではなさげだし、セレクト系の項目も見当たらないし。



885 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 18:33:48 ]
何甘えてんの

886 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 18:41:00 ]
>>884
横からだが、>>881で答え出てるじゃん
それで分からないって言うから>>883でListViewItemのプロパティってとこまで教えてもらってるのに、何故理解できないのか。

とりあえずMSDNのListViewItemの項目読んで来い。

887 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 19:07:50 ]
みんな優しいのな。 こういう人には、さっさと教えて勉強する機会を奪いたくなる。
listView1.Items[listView1.Items.Count - 1].Selected = true;
listView1.Select();

888 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 22:56:13 ]
MSDN読めと一言いえば済むよ

889 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 23:49:53 ]
MSDNは俺の読め

890 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 01:33:13 ]
>>887
ありがとうございます。無事出来ました。


891 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 03:40:59 ]
どういたしまして。

892 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 04:11:06 ]
C#のメソッドをネイティブDLLにコールバック関数として渡したいので
そのメソッドのデリゲートを渡したところ一旦は動くのですが、
しばらくするとGCで移動させられて呼び出し時にエラーが発生するようになります。
そこでデリゲートをGCHandle.AllocでPinnedにしようと思ったんですが、
デリゲートはblittableでないからとArgumentExceptionが発生します。
どうすればDLLに固定されたアドレスを渡せるんでしょうか。

893 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 07:45:04 ]
デリゲートインスタンスをローカル変数じゃなくてフィールドに置くようにしとけばいいよ

894 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 07:50:24 ]
言っとくがエラーになるのは固定されてないからとかそういう問題じゃないよ
デリゲートが解放されないように参照をちゃんと保持しとけばいいだけ




895 名前:デフォルトの名無しさん [2009/09/18(金) 12:09:00 ]
一枚の大きな画像が複数のタイルファイルに別れている場合、
タイルファイルを呼び出して大きな画像を作る前処理が必要です。

そして表示領域が移動したとき、領域からはずれたタイルを破毀し、必要なタイルだけを補完する必要があります。

こういう場合とっておきのスマートな処理方法ってありますか?

定石のようなものやクラス構成のヒントだけでも教えてもらえるとありがたいです。

896 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:17:56 ]
バカじゃねーの

897 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:21:47 ]
自分の歩いた道は既に誰かが通っていて、
常に舗装されている(スマートな解法が存在する)と思ってる奴がいるよね。

898 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:24:03 ]
煽りはうざいから消えてくれ
ちゃんとしたレスする気がないならスルーしろ

899 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:25:50 ]
嫌だね

900 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:26:45 ]
スレタイ読めよクズが

901 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:27:07 ]
┐('〜`;)┌

902 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:28:00 ]
こういうの定期的に湧くね。
バイオリズムか何かで虫の居所が悪い周期でもあんのかしら。

903 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:28:15 ]
テンプレ読めクズ

904 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:30:14 ]
くずがくずとののしるのですか



905 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:32:11 ]
黙れクズ

906 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:33:32 ]
hinagis.blog33.fc2.com/blog-entry-31.html
俺ど素人だから分からんがここに書いてあるんじゃない?

907 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:37:34 ]
平和だな

908 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 15:29:24 ]
>>893-894
ありがとうございます。
できました。
でもこれって移動しない保証はあるんですか。
それとも保証は無いけど実質移動はしないということですか。

909 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 15:48:53 ]
>>908
今どういうコード書いてあるか見せてみろよ。
移動がどうこう言ってるようじゃ何か間違ってるわ

910 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 16:05:24 ]
間違ってねーよ
できたつってんだろ

911 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 16:08:13 ]
正直よく分からんが、取り敢えずこの辺の議論でも読んでみたら?>デリゲートの固定
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36275&forum=7

912 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 16:19:34 ]
懐かしいな…

そこでも結論出てたと思うが、デリゲートをアンマネージに渡すと、
マーシャリングのためのサンクが作られる。
このサンクが生きてる限り、アンマネージからの呼び戻しは正しく動作する。
サンクはデリゲートがGCで解放されると死ぬ。

以上、デリゲートの固定とか関係ない。


913 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 16:20:44 ]
Marshal.GetFunctionPointerForDelegateにはGCが回収しないようにしておけばいいと書いてあるから
固定とか不要だと思うけど

914 名前:913 mailto:sage [2009/09/18(金) 16:21:24 ]
すまん、リロードしてなかった



915 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 16:38:53 ]
>>911-914
ありがとうございます。
参考になりました。

916 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 16:42:24 ]
サンクが作られるのか
サンクス


917 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 17:21:51 ]
C++/CLIからC#に来るとC++のpin_ptr<T>とかのせいで誤解するよね

918 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 17:34:34 ]
しないです

919 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 17:49:51 ]
するです

920 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 17:52:20 ]
VBからくるとC#の{ ... }ブロックはべんりねん

921 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 17:56:01 ]
VBが不便なだけ

922 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 18:36:23 ]
>>895
ゲームのマップ?
C#にこだわらなければサンプルはそこらへんに腐るほど落ちてるぞ
一回書けば二度と触らない部分だろうからスマートとかどうでもいい

923 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 18:51:23 ]
>>917 C++にはpin_ptrなんか無いぞ
C++のせいにするなー!

924 名前:デフォルトの名無しさん [2009/09/18(金) 19:10:51 ]
>>922
あざーす
一枚のタイルがどこまで動いたか調べて一斉にタイルを書き換える方法が見つかりました
まー結局ループしてコピーなんですね

OOPっぽくタイルクラスに移動値(x、y)を与えてやってみます



925 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 19:20:35 ]
タイルをクラスにするなら,表示領域外のタイルオブジェクトも保持するようにした方がスマートだよ
表示領域外に出たタイルオブジェクトは描画リソースだけ破棄するようにする
大きな画像全体を仮想的に保持しといて,必要な範囲だけ描画を有効にするイメージ

926 名前:デフォルトの名無しさん [2009/09/18(金) 21:41:47 ]
>>925
ありがとうございます
ライフゲームのセルみたいな感じですね?
わかります

C++で最初に書いたのを思い出しました


927 名前:デフォルトの名無しさん [2009/09/19(土) 08:38:42 ]
商品注文画面を作成しています。
a.
検索ボックスに検索したい商品の名前を入力しはじめると、
返還前であっても該当する商品が右側の窓に表示されるようにしたいのですが、
返還前の文字列を取得し、検索結果を表示するにはどうすればいいでしょうか。
b.
発注者の氏名を入力したら、自動で発注者のフリガナを下のボックスに入れたいと思っています。
これもaと同じ要領で返還前文字を拾うことができるでしょうか。

よろしくお願いします。

928 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 08:45:32 ]
いやです

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を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<249KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef