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


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

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



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

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

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

ふらっとC#,C♯,C#(初心者用) Part55
pc12.2ch.net/test/read.cgi/tech/1265288563/1

関連スレ
C#, C♯, C#相談室 Part55(実質56)
pc12.2ch.net/test/read.cgi/tech/1260111240/1

VB.NET質問スレ(Part33)
pc12.2ch.net/test/read.cgi/tech/1263738929/1

C++/CLI part3
pc12.2ch.net/test/read.cgi/tech/1206447234/1

313 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 22:33:01 ]
不変値なフォルダパスって一般的ではない気がする
アプリケーション構成ファイルとかに書かない?

314 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 23:06:31 ]
>>311
重い処理するならUIをブロックしないように非同期にする

315 名前:デフォルトの名無しさん [2010/03/07(日) 23:15:35 ]
>>314
それしかないんですね・・・
ありがとうございます。

316 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 23:37:28 ]
>>315
おお

317 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 23:48:31 ]
(´・ω・`) ………あ!

318 名前:デフォルトの名無しさん [2010/03/08(月) 05:53:43 ]
Foo f=new Foo();
f.Run();

Foo f=new Foo();
Thread t= new Thread(new ThreadStart(f.Run));
t.Start();
t.join();

はほぼ同じ動きをすると考えていいですよね?
後者にするとすごく遅くなるんですけど
これは余計なことやってるからだけなんでしょうか?

319 名前:デフォルトの名無しさん [2010/03/08(月) 08:26:13 ]
5月とかまた先延ばしにしたな

320 名前:デフォルトの名無しさん [2010/03/08(月) 08:29:09 ]
>>313
プロジェクトプロパティの
リソースや、設定っていうタブのことですか?

321 名前:デフォルトの名無しさん [2010/03/08(月) 11:19:46 ]
すいません、この画像のフォームコントロールの名前がわかりません。
誰か教えてください。
よろしくお願いします。

www.dotup.org/uploda/www.dotup.org709383.jpg



322 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 11:22:12 ]
リストビューだろ。

323 名前:デフォルトの名無しさん [2010/03/08(月) 11:25:19 ]
ありがとうございます!!

324 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 12:14:15 ]
>>320
そう 主に設定の方

325 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 12:17:34 ]
おれは app.config に出して、ConfigurationManager で読み出し、かな。

326 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 15:04:56 ]
>>324
あれってよくわからんが、自分でapp.configとかいう名前のファイル作って
そこに書きだすのとどう違うんだ?

327 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 15:48:13 ]
C#使っててPythonのが楽なときってある?
デスクトップアプリで

328 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 15:52:05 ]
>>326
色々あるけど機能としては
IDEが自動的に型指定されたプロパティとしてSettings.名前でアクセスできるラップクラスSettingsを用意してくれる
ユーザースコープの方はSettings.Default.Saveで簡単に保存できる
とか 自分もこういう基礎的な部分以外は使わんから詳しくないけど

アプリケーション設定でもapp.configを使うんだけど
普通直接app.configに値を埋め込む場合は普通configuration/appSettingsを使うのに対して
configuration/configSections/sectionGroupを使って別ツリーに書き出す

329 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 17:40:09 ]
Dictionaryのキーだけ保持したようなクラスありますか?

330 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 17:46:39 ]
HashSet<T>

331 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 17:49:54 ]
HashSet<T>がそれですか。
ありがとう。



332 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 17:50:34 ]
というか、集合(set)を実現したいというならちゃんとそう説明しないと、

Dictionary<TKey, TValue>.KeyCollection

とか答えちゃうぞ

333 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 17:58:00 ]
>>332
一般的な呼び方がわからなかったので329のように書きましたが
以降はそうさせてもらいます。

334 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 20:11:54 ]
ロギングについて質問です。
例外発生時にエラーログを出力したいのですが、
後で統計などを取るためにプログラムから読みやすい形を考えています。
ただし、バイナリはNGにしたいと思います。

独自のErrorクラスを作って、その配列をXmlSerializerや
SoapFormatterでSerializeというのを考えたのですが、
こういう手法というのは一般的に見てどうでしょうか。

書き込むのにDeserialize→配列に追加→Serializeという手順になるので、
パフォーマンス上は不利だとは思いますが、
試しに3MB位までログ容量を増やしても体感上は遅延は感じませんでした。
本番運用では100KB以内で収まる程度だとは思います。

335 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 20:13:02 ]
専用のTraceSourceというクラスを使う
XMLにも出力できる

336 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 20:15:52 ]
>>327
ないね
かなり小さいコードでもインテリセンスに頼った方が早かったりする
スクリプト言語はコンパイルが不要なことに意義がある

337 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 20:17:05 ]
log4netとか使っちゃうな。

338 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 20:37:42 ]
sage

339 名前:334 mailto:sage [2010/03/08(月) 20:39:59 ]
>>335,337
ありがとうございます。調べてみます。

340 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 10:10:21 ]
>>337
あれ結構便利だとは思うけど
やれる事が多いだけに設定がめんどくせぇ・・・
俺の中では設定ファイルの中身グチャグチャにされるイメージがでかいかな・・
今は必要な機能だけ持った独自のログ機能自作して使ってるわ

341 名前:デフォルトの名無しさん [2010/03/09(火) 12:45:06 ]
bmpのファイルのロックを解除する方法を教えてください。
WPFでjpg画像を読み込んでいます。
BitmapImage bmp = new BitmapImage();
bmp.BeginInit();
bmp.UriSource = new Uri(fileName);
bmp.CacheOption = BitmapCacheOption.OnLoad;
bmp.EndInit();

これで、jpgが壊れているときに、
bmp.EndInit();
でエラーになります。
そこで、これ全体をtry-catchして、エラーが出たらDisposeしようと考えました。
catch{
bmp.Dispose();
Close();
}
としたのですが、bmpにはDispose()が見当たりません。
どうやってDisposeして終了したらよいでしょう?
WPF掲示板は初心者の質問には答えていただけないようなので、
こちらに来ました。
よろしくお願いします。




342 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 12:46:49 ]
最近この板でキモいC#信者が暴走してるから自重するように

343 名前:デフォルトの名無しさん [2010/03/09(火) 12:59:43 ]
>>341
以前とあるソフト書いたときはこんな感じにしたな
FileStream fs = new FileStream(save,FileMode.Open);
b = new Bitmap(fs);
fs.Close();
fs.Dispose();

これだと自分でdiposeできるのでロックがかかったままにならない
どこかにこれはあったはず(@ITあたりにサンプルコードあったはず)

344 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 13:03:42 ]
>>343
それSystem.Drawingや、と
まあWPFでも同じ回避方法になるね
UriSourceじゃなくてStreamSourceを使う
ていうかこれはバグだなー

345 名前:デフォルトの名無しさん [2010/03/09(火) 13:04:37 ]
>>341
StreamSource
考え方は>>343

346 名前:デフォルトの名無しさん [2010/03/09(火) 13:06:27 ]
>>344
バグというか仕様というか仕様考慮漏れというか
GCをあてにする言語なんでこういう仕様も許容範囲かと
コード書く側でまったく対処できないなら問題だけどね

347 名前:デフォルトの名無しさん [2010/03/09(火) 13:10:12 ]
>>343の補足
saveってのはこの前のロジックの都合でそうなってるだけで
fileNameとか自分の環境にあったのに書き換えてね

348 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 13:13:34 ]
>>346
いや、内部でStream作ってるんだからそれを例外時にCloseしないのは問題でしょ
「using使えよ」的な話
ストリームをCloseしたときに例外が出たって状況ではないんだから

349 名前:デフォルトの名無しさん [2010/03/09(火) 14:03:42 ]
>みなさんありがとうございます。
が、下記のコードで、画像が表示されなくなりました。
読み込めていないようです。
どこがまずいでしょう?

BitmapImage bmp = new BitmapImage();
try{
//FileStream fs = new FileStream(fileName, FileMode.Open);
//bmp = new BitmapImage();
//fs.Close();
//fs.Dispose();
bmp.BeginInit();
//bmp.UriSource = new Uri(fileName);
bmp.StreamSource = new FileStream(fileName, FileMode.Open);
bmp.CacheOption = BitmapCacheOption.OnLoad;
bmp.StreamSource.Close();
bmp.StreamSource.Dispose();
bmp.EndInit();
}catch{
Close();
}


350 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 14:07:09 ]
EndInitする前にCloseしたらそりゃダメだろ…
あとCloseとかDisposeとかは明示的に呼ぶんじゃなくてusing構文で

351 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 14:15:21 ]
なんでusingという名前にしたんだろうな?まぎらわしい( ・ω・)y─┛〜〜



352 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 14:20:25 ]
正常な場合はCloseしちゃだめ。
基本的にオープンの状態を維持して読み直せるようにしないといけない。

353 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 14:23:59 ]
>>352
BitmapCacheOption.OnLoadの場合ロード時=EndInit時にデータを全部メモリにコピーしちゃうから
元Streamがどうなろうがしったこっちゃないよ

354 名前:デフォルトの名無しさん [2010/03/09(火) 14:25:28 ]
その辺うまく使いこなせないならMemoryStreamで読み込みできるように
自分でメモリに上げちゃえばいいんじゃないの?

355 名前:デフォルトの名無しさん [2010/03/09(火) 14:54:55 ]
>みなさんありがとうございます。
bmp.EndInit();
bmp.StreamSource.Close();
bmp.StreamSource.Dispose();
と順番を変更してうまくいきました。
ありがとうございました。


356 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:15:28 ]
配列に入っている値の符合をプラスから全部マイナスにしたいんだけど、簡単に出来る方法はないですか?
もちろんループをつかって全部−1を掛け算すればいいんだけど、ビット演算とかで簡単にできないかなーと思って

357 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:17:21 ]
ループが一番簡単だろ

358 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:27:46 ]
最近は2の補数とかやらないのか・・・

359 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:29:03 ]
それ以前に配列なんだからループ以外にどうしろと

360 名前:デフォルトの名無しさん [2010/03/09(火) 15:30:25 ]
>>356
int32の場合だと-1かけるっていうのは0xFFFFFFFFをかけるってことだけど
素直に計算したほうがいいんじゃないの?

参考までに

1*-1は0x00000001*0xFFFFFFFF=0xFFFFFFFF
2*-1は0x00000002*0xFFFFFFFF=0xFFFFFFFE
以下略

余計なシフト演算するくらいなら掛け算したほうがいい気がする

361 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:30:56 ]
意地でもループを使わずなんとかするって方向ですか?



362 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:46:54 ]
うん、ループ怖いし

363 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:51:38 ]
>>362
じゃあ、再帰使え

364 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:51:42 ]
-1 をかけるって、実際にはループの中で a[i] = -a[i]; だろ。
これより高速な方法なんてある?

365 名前:デフォルトの名無しさん [2010/03/09(火) 15:54:32 ]
x86だと命令を繰り返すための命令もあったけど
そういうのを除けばすでに言語はあまり関係ないよな・・・

366 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:01:42 ]
そんなもん数万回やってやっとms単位の差が分かる程度だろ。意味ない。

367 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:16:50 ]
どうしてもループしたくないならこういう感じで行けるんじゃないかな

int[] val = new int[10];
var tmp =
from n in val
select n * -1;

var minus = tmp.ToArray();

368 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:18:30 ]
それ結局ループしてね?

369 名前:デフォルトの名無しさん [2010/03/09(火) 16:19:48 ]
だから言語は関係なくてループを書かないってのはできないんじゃね?といってる
再帰でやるほどでもないだろうし

370 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:22:48 ]
できんこたないだろ
a[0] = -a[0];
a[1] = -a[1];
・・・

さあ全部書くんだ

371 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:24:50 ]
手段のためなら目的は選ばない



372 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:25:00 ]
完全にネタ化してきたな

373 名前:デフォルトの名無しさん [2010/03/09(火) 16:29:22 ]
>>372
まあネタだよね
釣りともいうかも

374 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:36:21 ]
SSEとかそういうの使えばループ無しで出来るんじゃね?

Cとかアセンブラの域になるが。

375 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:40:37 ]
無限ループって怖くね?

376 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:54:25 ]
えッ!?

377 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:59:23 ]
メッセージループは無限ループだから怖い

378 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 17:18:06 ]
まぁその程度の事で難しく考えるより
単純でミスがないような後々わかりやすいコードのが大事だろ

379 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 18:05:45 ]
>>349
今更だけど、FileStream.Close()ってDispose呼ぶだけだから、
CloseとDisposeの両方を呼ぶ必要はなく、片方1つで十分のはず。

380 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 18:16:11 ]
>>379
MSDNには「Disposeのtrueと同じ」って書いてあったから
ちょっと違うのかもと思ってた

381 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 18:25:00 ]
>>380
Dispose()はDispose(true)をよんでいる。



382 名前:デフォルトの名無しさん [2010/03/09(火) 18:59:18 ]
Stream系は全部using使わないと開放漏れが気になっちゃう

383 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 21:11:15 ]
解放漏れよりも更新されなくて嵌まることがある

384 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 21:49:10 ]
そーいえば、SmtpClient と MailMessage で添付ファイル付きのメールを送ったときに、
添付ファイルとしていたローカルファイルを削除できなくて悩んだことがあったな。w

この時初めて Dispose の重要性を実感した。

385 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 22:21:55 ]
マネージDllに記述したメソッドの説明などに使う///コメントが、Dllを使うプロジェクトで参照できません。
どうやったら参照できるようになりますか。

386 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 22:25:03 ]
プロジェクトのプロパティ→ビルド→XMLドキュメントファイル
プロジェクト参照じゃなくてdllをそのまま配布する場合は必ず生成されたxmlファイルも一緒に

387 名前:デフォルトの名無しさん [2010/03/09(火) 23:32:07 ]
XmlSerializerを使ってDeserializeするクラスの中に配列があった場合はうまくいかないのかな?

388 名前:387 [2010/03/09(火) 23:47:58 ]
自己解決しました・・・

389 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 00:07:21 ]
死ね

390 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 00:15:45 ]
どうやって解決したか書かない子はほんと自決して欲しい

391 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 00:18:27 ]
>>390
いやです



392 名前:デフォルトの名無しさん [2010/03/10(水) 00:27:11 ]
>>391
勝手に応えるなw

>>390
ケアレスミスでしたw

393 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 00:28:53 ]
>>392
いやです

394 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 01:51:09 ]
一度覚えたら忘れにくい言語ないですか?

395 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 01:52:31 ]
日本語

396 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 02:05:49 ]
listview.items[].subitems[].text
↑長い
↓こんな感じにできたらいいのに
listview.items[](str,str,str,str)

397 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 02:07:27 ]
>>396
っ 拡張メソッド

398 名前:デフォルトの名無しさん [2010/03/10(水) 13:43:09 ]
IDisposableの正しい実装方法おしえてちょ

399 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 15:02:56 ]
string型をKeys列挙型に変換する書き方がわかりません。
下のような変換をするにはどのように書けばいいですか?

string "J" → Keys.J
string "Divide" → Keys.Divide
string "NumPad2" → Keys.NumPad2


400 名前:デフォルトの名無しさん [2010/03/10(水) 15:34:09 ]
スレッドセーフについて教えてください

@private static List<string> sampleList = new List<string>();として
同じクラス内の以下のスレッドを同時に実行します
スレッド1はsampleListに要素を一つずつaddして追加
スレッド2もsampleListに要素を一つずつaddして追加
スレッド3はsampleListの先頭の要素を取得後、RemoveAt(0)で削除
この場合はSynchronizedは必要ですか?

Aprivate static int n1;として
2つの同時進行のスレッドからn1の値を変えたりする場合は
Interlockedが必要ですか?

Bprivate static int n1;として
スレッド1からはn1の値を変更するが、スレッド2からは参照するだけ
ならばInterlockedは必要ないですか?

よろしくお願いします

401 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 15:35:43 ]
>>399
(Keys)Enum.Parse(typeof(Keys), "NumPad2", false);



402 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 15:46:53 ]
書き換えてる途中に参照しようとしたらどうする?

403 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 15:47:21 ]
>>401
できました。ありがとうございます!
他にも色々使えそうなので更に勉強してきます。

404 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 15:58:59 ]
途中ってなんだよw

405 名前:400 mailto:sage [2010/03/10(水) 16:05:14 ]
>>402
ありがとうございます。
Bの場合もInterlockedしておいた方がいいという事ですね。。。

もう一つだけ教えてください。
msdn.microsoft.com/ja-jp/library/6sh2ey19(VS.80).aspxに
スレッド セーフ
この型の public static (Visual Basic では Shared) メンバは、スレッド セーフです。
と記載せれているのですが、これはSynchronizedが必要ないという意味ですか?

406 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 16:37:15 ]
>>405
>この型の public static (Visual Basic では Shared) メンバは、スレッド セーフです。
>すべてのインスタンス メンバがスレッド セーフになるかどうかは保証されていません。
いらないよ
逆にCountプロパティとかその辺はセーフかどうかなんて保証されてないってこった

>コレクションが変更されない限り、List では、複数の読み込み操作が同時に発生しても問題ありません。
コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。
まれに 1 つ以上の書き込みアクセスによって列挙処理で競合が発生する場合、確実にスレッド セーフにするには、列挙処理が完了するまでコレクションをロックします。
コレクションに対し複数のスレッドがアクセスして読み取りや書き込みを行うことができるようにするには、独自に同期化を実装する必要があります。

と書いてあるがこれ読めば参照時にもロックかけるべきかどうかは判断つくと思うんだけど



407 名前:400 mailto:sage [2010/03/10(水) 17:01:26 ]
>>406
ありがとうございます
まとめると、Listをスレッドセーフで使うには
・public static以外はSynchronizedが必要
・For EachやCountプロパティ等を使用する時はロックが必要
ということでいいのかな。
助かりました、サンクス。

408 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 18:46:47 ]
List<T>などのジェネリックコレクションにSynchronizedはない
常にロックが必要

409 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 19:32:29 ]
Form1のボタンを押すと、Form2のテキストボックスにテキストを移すのってどうすればいいですかね?
DOBONさんのTipsを見て

Form2 f = new Form2();
f.ShowDialog(this);
f.Dispose();

な感じでForm2をForm1に所有させてやってるんですが
他にやり方とかないでしょうか?

410 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 19:39:31 ]
>>409
クリップボードを中継する

411 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 19:42:07 ]
>>409
それでできるのに何が問題なのかが
重要なんだと思うが・・・・



412 名前:デフォルトの名無しさん [2010/03/10(水) 19:42:12 ]
同じ説明をしたなあ
Form2にアクセス用の関数を作って公開する

413 名前:デフォルトの名無しさん [2010/03/10(水) 20:09:20 ]
ボタンとテキストボックスは自分で配置してくれ
Form1.cs
codepad.org/8UBu8se8

Form2.cs
codepad.org/ErnDt7Yc






[ 続きを読む ] / [ 携帯版 ]

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

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