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


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

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



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

ふらっとC#,C♯,C#(初心者用) Part22
pc11.2ch.net/test/read.cgi/tech/1197802312/

52 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 21:13:50 ]
>>51
ListView?

53 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 21:44:20 ]
かちゅーしゃだとスレタイが化けるのはおれだけ?
IEその他だとなんともない

「ふらっとC#@`C♯@`C#(初心者用) Part23」
となっている



54 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 21:45:44 ]
ありゃ書き込んだらカキコはまともに見える
"," が@と`になる

55 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 21:47:33 ]
回答は(後略)

56 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 22:04:14 ]
>>52
TreeViewでした(;´д`)

57 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 23:03:11 ]
PictureBox上でToolTipを表示するのに
マウスカーソルの位置でメッセージ内容を変えてます

Popupイベントでメッセージを変えてるんだけど
ただ、これだどPictureBoxの中でマウスカーソルが移動した場合に
ToolTipが再度表示されなくて悩んでます

同じコントロール上でマウスカーソルを移動したときに
ToolTipを再表示する設定ってできますか?

58 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 02:07:30 ]
親フォーム(クラス Form1)で、BackgroundWorkerのbgwを作り裏で処理をさせています。
また、Form1から子フォーム(クラス FormOption)を呼び出せるようになっています。

ここで子フォームのボタン(btnOK)を押されたときに、裏処理を中断させたいんですが、どうしたらいいでしょうか。。。
親フォームからだったらクラスが同じなのでbgw.CancelAsync();で良いと思うんですが、クラスが違うので使えません・・・

//まだクラスとかインスタンスとかの概念がよく理解してないのが問題だと思います(´・ω・)
//とりあえず似たようなケースで、異なるクラス間で変数いじったりするならstaticにすればいいってことは分かったんですが・・・

59 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 02:18:13 ]
子フォームがShowDialogなら、返値みて判断。
Showでキャンセルした時に閉じるなら、子フォームにIsCancelledプロパティ用意して子フォームのClosedイベントでチェック。
一般的には子フォームにCancelledイベントを作ってキャンセルボタン押されたら発生、親フォームはイベントにキャンセル処理を設定。

60 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 02:18:20 ]
別々のクラスオブジェクトのメソッドから共通のログファイルに書き出ししたい場合は
どのようにすればよろしいのでしょうか?



61 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 02:21:26 ]
>>60
log4net

62 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 02:26:47 ]
外部のライブラリを使わない方法を教えていただけませんか

63 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 02:35:51 ]
>>62
内部に取り込む?

64 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 02:39:23 ]
>>57
自分でやる。定番のルーチンだと思うけど。

以前の領域かどうか判別して、同じなら何もしない。
違ったらtoolTip.Active をいったんfalse にしといてSetToolTip設定、
Active をtrueに。

65 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 02:42:15 ]
>>62
ユーティリティクラスの静的メソッドで書けばよかろうもん

66 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 04:52:46 ]
TextBoxに対して、Ctrl+Vとかのショートカットを送る方法ってありますか?
右クリックメニューに独自処理を追加したいけど難しそうなので、独自処理+標準のコピーペーストとかをもつ
メニューを作りたいと思っています。

67 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 04:57:15 ]
上記自己解決。
bbs.wankuma.com/index.cgi?mode=al2&namber=9353&KLOG=22
さんざん探してから書いたのに、書き込み後、一発目の検索で発見。
しかも、普通にメソッドで用意されてた。

68 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 06:30:26 ]
まあ困ったらWeb検索するより先にMSDN/ヘルプを見ろってことだな

69 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 07:19:16 ]
お〜い山田くん、これテンプレに貼っといて

ttp://msdn2.microsoft.com/ja-jp/library/default.aspx

70 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 11:04:34 ]
>>60
普通にTraceかTraceSource使えば?



71 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 12:02:17 ]
tabControlに貼り付けたtoolStripが、勝手に移動したり、visible=falseになったりして困っています。
GripStyle=hiddenです。
ロックかけてもお構いなし。なにか良い回避策ありませんか?
C# 2008 Express Editionです。

72 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 13:05:39 ]
コンボボックスの値を取得したいのですが
Itemには、No1〜No5までの5つの文字があって
ComBoBoxのテキストには(選択してください)
という文字列が入っています
この時、プルダウンメニューからアイテムを選択しなかった時は
ComboBox.Textには(選択してください)が入ってしまうのでしょうか?
またアイテムが選択されてる状態の時は、ComboBox.Textで取得できるのでしょうか?

73 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 13:30:08 ]
(´・ω・`)しらんがな

74 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 15:03:01 ]
そんなもん実験すりゃいいだろうが

75 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:13:08 ]
 配列の巡回を持った言語ならC#に限らない話だと思うのですが、
foreach中に配列の要素を消したい時、一番スマートなやり方としてはどんな物が有るでしょうか?
 どうしてもforeachが2回以上必要な気がします。
 プログラミングがうまい人ならもっとマシな方法をしていませんでしょうか?
下に目的の代換えソースを書いてみました。


//あまり綺麗では無いと思う例---
/*
 「予期しない動作を防ぐため、コレクション内容の変更には使用しないでください。」という制限の為
削除する要素へのキーを別途用意した配列に入れてその配列を"又"foreachしています。
*/
foreach(OBJ val in table)
{
 if (val.needDel) delArray.Add(val.key);
}

foreach(key key in delArray) //
{
 table.Remove(key)
}
delArray.Clear()


76 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:21:01 ]
前スレでさんざん水掛け論やってたな確か

77 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:24:07 ]
>>75
つ RemoveAll()

78 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:24:55 ]
そうだな。
元がListBoxだったのにそれそっちのけでなんやかややってたなw

79 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:28:20 ]
OBJとかkeyとかなぜか先頭小文字のneedDelとかvarと紛らわしいvalとか
名前ばっかり気になるw

80 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:29:35 ]
Smalltalk風ですな



81 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:34:54 ]
つうかあの時の奴と全く同じミスをしとる。 >>75
アイテムで削除すると同じキーが複数存在した場合にうまくいかんぞ。

82 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:35:17 ]
foreachは消すためには使えない
そもそも配列はAddもRemoveもできない

83 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:36:01 ]
あらしや釣りでは無いです。

>76 >78
前スレ見てきました。 C#では
ToList().ForEach(index => listBox1.Items.RemoveAt(index) );
あたりが使えそうですね。 これはつまり匿名メソッド?

>79 >80
borland (Pascal?)から来ました。 var,valとalignはテキストエディタで色分けしています。


84 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:38:43 ]
なんで素直にRemoveAll()じゃあかんの?
たしかにあのメソッド名は大変紛らわしいが、アイテムごとに条件を見て
削除するという目的にまさにぴったりなんだが。

85 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:38:50 ]
>>75
for (i = list.Count - 1; i >= 0; i--)
{
if (...)
{
list.RemoveAt(i);
}
}

こんな感じかな。

86 名前:85 mailto:sage [2008/01/13(日) 17:42:13 ]
しまった。RemoveAll()を忘れてた。


87 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:43:22 ]
>>75の言う配列というのがList<T>のことならRemoveAll一択

88 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:54:26 ]
前スレから見に戻って良かったです。前スレではRemoveAll()出てないし。

ヘルプが2割も理解できてませんが、List<T>::RemoveAllが良いのですね?
Delegateを返す関数を作ってvalueに入れる??

どうでも良い話。自分が一昔前にborlandつかってた頃のソースは小文字のみでした。
何処で聞いたんだっけな?


89 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:54:26 ]
AddやRemoveが使えてるから、配列じゃなくてList<T>なんだろうな。

table.RemoveAll(x => x.needDel)
といったところか

90 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 17:55:27 ]
>89
ありがとう。 まとまりました。



91 名前:デフォルトの名無しさん [2008/01/13(日) 18:17:25 ]
List<T>の各要素に対して、削除と、削除とは別の処理を、1つのループで行うにはどうすればいいの?

92 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 18:25:38 ]
RemoveAllかなんかで削除してからその他の処理をすれば?

93 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 18:28:06 ]
RemoveAll厨必死杉

94 名前:デフォルトの名無しさん [2008/01/13(日) 18:28:59 ]
List<T>の各要素に対して、削除と、削除とは別の処理を、1つのforeachで行うにはどうすればいいの?

95 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 18:33:32 ]
forを使うといい

96 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 18:49:22 ]
ttp://bbs.wankuma.com/index.cgi?mode=al2&namber=10106&KLOG=23

97 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 18:57:39 ]
namber?

98 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 19:00:00 ]
cgiの仕様だそうだからそっとしといてやれ。

99 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 20:25:32 ]
XPの音量のプロパティのうちWaveとかの特定のものを操作したいのですが
.NETのライブラリを探してもないようです。
Win32APIを使うしかないのでしょうか?

100 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 20:32:46 ]
うん
まあちょっと検索すりゃC#ラッパとかすぐ見つかるだろうけど



101 名前:58 mailto:sage [2008/01/13(日) 20:57:10 ]
>>59
あ・・・ShowDialogって値返してたんですね(´・ω・)戻り値見る方法ですんなり解決しました。ありがとうこざいました。

102 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:43:33 ]
ウインドウを表示するにはどうすればいいのでしょうか?

103 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 22:10:57 ]
>>102
Form.Show();
とかってことじゃなくて?もうちょっと具体的に言ってもらえればアドバイスもしやすいと思うよ

104 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 22:44:18 ]
ShowWindow( HWND, int )

105 名前:デフォルトの名無しさん [2008/01/13(日) 23:07:42 ]
すいません。

C# 2005 Express Editionを使っているのですが、
フォームのAcceptButtonに設定されているボタンの
クリックイベントをキャンセルするには、
どうしたらよいのでしょうか?

private void buttonOK_Click(object sender, EventArgs e)
{
 if (エラーチェック)
 {
  エラーならキャンセル
 }
以下略

というようなことがやりたいのですが、
フォームのAcceptButtonに設定されているため、
ウィンドウが消えてしまいます。

AcceptButtonに設定するのをあきらめるしかないのでしょうか?

106 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:20:25 ]
うん。

107 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:25:55 ]
VB6.0のフォームデザイナみたいにフォームに点が表示されて
コントロールが配置しやすくなる設定はできないんでしょうか?

108 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:34:01 ]
>>107
formのプロパティーにあるよ。

109 名前:デフォルトの名無しさん [2008/01/13(日) 23:41:20 ]
いろんなサンプル見て調べながら、

public void myReceive (){
   remoteEP = null;
   udp.BeginReceive(new AsyncCallback(ReceiveCallback), null);
}

private void ReceiveCallback (IAsyncResult ar){
   byte[] ReceivedBytes = udp.EndReceive(ar, ref remoteEP);
}

udpはUDPClient型
remoteEPはIPEndPoint型

こんなかんじでバックグラウンドでUDPの受信待機&受信をするコードを書いてみたんですが、受信待機状態を中断するにはどうしたらいいんでしょうか・・・良い感じのメソッドとかも見つからなくて困ってます。。。

110 名前:デフォルトの名無しさん [2008/01/13(日) 23:42:40 ]
>>106

むう。。。
ありがとうございます。



111 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:04:36 ]
>>108
ツール→オプション→Windowsフォームデザイナ→レイアウト設定でできました

112 名前:デフォルトの名無しさん [2008/01/14(月) 08:02:02 ]
Windows2003R2 x64のWndProcにNM_CUSTOMDRAWが飛んでこないんですが、なんで?
x86を明示してビルドすると動くのですが

113 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 09:21:23 ]
>>112
64bit環境ではIntPtrが64ビットになるから、これが影響してないか?

114 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 15:33:00 ]
あるバイナリファイルの100万バイト目から10バイトだけデータが欲しいのですが、
こういう時でも律儀に100万バイト分のデータを読み込まないと取得できないのですか?

115 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 15:36:57 ]
>>114
Seekがあるよ。

116 名前:114 mailto:sage [2008/01/14(月) 15:46:15 ]
>>115
BaseStream.Seek()メソッドを利用することで取得できました
ありがとうございました

117 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 16:57:24 ]
File.Copyメソッドについて質問です。

このメソッドを利用して、色々とコピーしてみていると、たまにエラーが出ます。
アクセス権の問題だったりするのですが、例えば
File.Copy(From, To);
このFromを読み込み可能に、Toを読み書き可能にする、というのは無理なんでしょうか?

118 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:00:24 ]
質問の意味がよく分かりませんが。。。
そんな質問してると「日本語でおk」って書かれちゃうと思うぞw

119 名前:117 mailto:sage [2008/01/14(月) 17:04:24 ]
えっと、こうかけばよかった

File.Copy(From,To);
この時、FromとToのアクセス権の設定の問題でエラーが出るのを回避したいです。
どうすれば良いでしょうか?

120 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:07:31 ]
エラーが出ないようにチェックしてからコピーすればいいじゃまいか。
それともアクセス権を回避して無理やり書き込みたいってことか?



121 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:10:00 ]
無視しようと思えば無視して横車を押せるようなアクセス権なら
そんなものに意味などないと思うんですが間違ってるでしょうか……

122 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:11:10 ]
無理にというより、設定し直してやりたいです


123 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:13:19 ]
>>122
同じことだと思いますが……
設定して「無理に」横車を押したい、と

124 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:16:07 ]
アクセス権がないのにアクセス権を変える権利はあるのかよ。
どう考えても設定間違ってるだろw

125 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:16:29 ]
それを言ったらPCの存在を否定してそうですが……

設定を変えるのは無理そうですね、ファイルアクセス権に限ってというよりファイルアクセス権だからなのかな
世のバックアップソフトは一体どうなってるんだろう

126 名前:デフォルトの名無しさん [2008/01/14(月) 17:16:29 ]
ふらっとなのにあげあしとりしか存在しないのかね

それも反応早いし、このスレもういらないだろ正直

127 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:17:23 ]
前スレで「フォームの内容を保存」がどうのと騒いでた人ですが、
なるほど。拡張子がいかなるものであろうと、テキストファイルやHTMLファイルみたいな
テキスト主体のデータをファイルに保存するにはテキスト形式で書き出し、
画像ファイルや音楽、動画ファイルといったデータを保存するにはバイナリ形式で書き出せば良かったのですね。

あとは書き出したい内容を然る場所に書けば、と。

その節は大変お騒がせして、お恥ずかしい(*^ ^*;
(報告したかっただけなので、流してくださって構いません)

128 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:19:27 ]
>>126
揚げ足取りってw
俺はそうは思わないけど、君がそう思うのなら自分の言葉に責任持てよ。

つまり揚げ足取りではない(繰り返すけど揚げ足とってるつもりないぞ)、
真面目な回答をぜひ頼むよ。

それとも自分棚上げ野郎なのか君は。

129 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:25:46 ]
円の描画でつまづいています。

円の内側は塗りつぶしができるのですが,
円の外側を塗りつぶしたい時はどうしたらいいでしょうか



130 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:31:12 ]
>>125
アクセス権の存在意義について考えろ。
アクセス権をオーバーライドできたらアクセス権の意味がないだろ。
バックアップソフトは普通はアドミン権限で実行する。

>>129
円の形でクリッピングして塗りつぶせばいいんじゃね?



131 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:38:45 ]
>>130
解決しました。
ありがとうございます。
勉強になりました。


132 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:44:37 ]
コントロールでkeydownを所得するとき
個々のkyedownイベントでとる方法とPreviewKeyDownのどちらが良いのでしょうか?

ふつうにkeydownで所得できるようなイベントの時はどっちでも同じ?

133 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 18:49:21 ]
所得ってなんだ…

134 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:31:44 ]
スクロールのついているフォーム全体をキャプチャを目的に,
スクロールを操作してキャプチャを試みています。

コントロールを指定して画像を取得することができたのですが
スクロールは制御すらできません。
なにかよい助言をしていただけませんか?




135 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:31:46 ]
>>133
また揚げ足かよ!と思ったら、その上も所得と書いてる・・・
たぶん132はガチでずっと、取得を所得と思って使ってきたんだろねw

>>132
2.0以降なら、PreviewKeyDownで取得すべき。
KeyDownは発生しないキーがある(IsInputKeyプロパティで発生可になるけど)

136 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:49:19 ]
>>126
揚げ足を取られるのは、アホな質問をした場合に限られる。
まともな質問であればまともな回答が返ってくる。

とられた場合はまずは自分がアホなことを言っていないかを振り返ってみよう。

137 名前:134 mailto:sage [2008/01/14(月) 21:19:13 ]
どなたかおわかりになりませんか?
いろいろ調べてみましたが,具体的にどのようにしたらいいのか
さっぱり分かりませんでした。

138 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:21:43 ]
WM_SCROLL投げたら?

139 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:21:44 ]
Formの背景色だけを半透明にする方法はないでしょうか?
Opacityオプションで半透明にすると、Form上のLabelなどの文字やButtonまで半透明になってしまいます。


140 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:25:58 ]
>>139
TransparencyKey



141 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:27:47 ]
>>139
TransparencyKeyでは完全に透明になってしまうのですが…

142 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:31:16 ]
背景色をマゼンタにでもしとけば?

143 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:38:53 ]
zlib(RFC1950)で圧縮されたファイルを解凍したいんだけど、C#だけでできる?
DeflateStream はRFC1951、GZipStream はRFC1952を使ってるらしくてうまく解凍できない。
他にzlibに関わるクラスも見当たらないし、もしかしてC#じゃできない?

144 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:40:27 ]
正式な方法が用意されてるかどうかは知らないけど
CでできるんだったらC#でもDllImport使えばできる

145 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:21:36 ]
C#でも自分でプログラム書けばできる

146 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:51:16 ]
携帯からなんでURLは書けないが、Sourceforgeにzlib.netとかいうプロジェクトがある

147 名前:109 mailto:sage [2008/01/14(月) 23:18:31 ]
良かったらどなたか>>109もお願いします(´・ω・)

148 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 23:26:39 ]
受信待機状態を中断…もう少し具体的に

149 名前:109 mailto:sage [2008/01/15(火) 00:09:52 ]
>>148
ありがとうございます。
具体的には、ボタンが押された時にポートを解放(?)してudpを破棄したいということです。

実装としては
udp=new UdpClient(port);としているんですが、ユーザの入力でポートを変更することも出来るようにしたいんです。

とりあえず今日いろいろ考えた末、
ポートを変更するときに呼ばれるメソッドを

public void ChangePort () {
   udp.Close();
   udp = new UdpClient(port);
   myReceive;
}

として、無理矢理破棄して、ReceiveCallback内をtry〜catchで起こった例外を全て無視するようにして一応動いたんですが、あまりにも邪道すぎる気がします。。。

150 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 00:14:11 ]
>>149
いやもそれでほぼオケじゃね?
例外を全て無視じゃなくて外からClose()された時の例外だけ無視するようにすれば。



151 名前:109 mailto:sage [2008/01/15(火) 00:36:04 ]
>>109
あ゛・・・
これでよかったんですね。例外は基本的に全て処理するべきなのかなぁって思い込みがありました(´・ω・)
とりあえずArgumentExceptionと、タイミングによってはObjectDisposedExceptionがスローされるみたいなんで、これらを無視するようにしておきました。

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

152 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 00:53:30 ]
C#のことでなく.NET Frameworkのことですれ違いなんだけど、

C#で文法のことはいいとしてライブラリのことが知りたいんだけど
いい情報源教えてください。

dobon.net/
は読みました。
とりあえず
プログラミングMicrosoft .NET Framework 第2版 (マイクロソフト公式解説書) (単行本)
は買ってみようと思います、

よろしくお願いします。







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

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

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