C♯, C#相談室 Part36
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/12/09(土) 18:33:59前スレ
C♯, C#相談室 Part35
http://pc8.2ch.net/test/read.cgi/tech/1162490865
過去スレは>>2-5あたり。
※スレタイに「#」を入れても消えちゃうので新スレ立てる人は要注意だ。
0951デフォルトの名無しさん
2007/01/16(火) 20:25:290952デフォルトの名無しさん
2007/01/16(火) 20:39:290953デフォルトの名無しさん
2007/01/16(火) 21:12:54おまえは何を言っているのだ
0954デフォルトの名無しさん
2007/01/16(火) 22:04:08コレクションとかIEnumerableを継承しているとプロパティは出力されない
XmlSerializeのトピックに例外事項として書かれているはず。
0955デフォルトの名無しさん
2007/01/16(火) 22:09:32配列で返すなら、List<T>で返して欲しいな。とか思うことありません?
自分でAPI定義してても、IEnumerable<T>で返すか、IList<T>, T[], ICollection,List<T>
どれで返すのか迷ったりしてましたがList<T>で返すと特に嫌がられることってありますかね?
(相手は.Net2.0以降を仮定してもよいとして)
0956デフォルトの名無しさん
2007/01/16(火) 22:38:02クラスで返す必要はないだろ。
0957デフォルトの名無しさん
2007/01/16(火) 22:40:310958デフォルトの名無しさん
2007/01/16(火) 22:47:24List<T>ならList<T>で返して欲しいけどなあ。
IEnumerable<T>で返されたらIList<T>やその他のインターフェースのメソッドが一切使えなくなるわけだし。
でも>>957の言うことももっともかも。
0959デフォルトの名無しさん
2007/01/16(火) 23:16:31シリアライズについて詳しくないけど
プロパティって、外部に見せるためのラッパーみたいなものでしょ(表現おかしい?)
で、内部的に保持するidがきちんとxmlとして出力されてるなら
プロパティも仮想的に保持されるし、なにも問題ないんじゃないの?
0960デフォルトの名無しさん
2007/01/16(火) 23:26:29お前は何を言っとるんだ
0961デフォルトの名無しさん
2007/01/16(火) 23:27:23無駄なことで消費が早かった。
0962デフォルトの名無しさん
2007/01/16(火) 23:40:19>(表現おかしい?)
なぁ・・・表現だけなのか?
0963デフォルトの名無しさん
2007/01/16(火) 23:44:03>プロパティって、外部に見せるためのラッパーみたいなものでしょ
フィールドのように使えるが、実際はメソッド。
メソッドをシリアライズするのか? ということ。
0964デフォルトの名無しさん
2007/01/16(火) 23:57:570965デフォルトの名無しさん
2007/01/17(水) 00:02:37文字読めるようになってから書け
0966デフォルトの名無しさん
2007/01/17(水) 11:08:200967デフォルトの名無しさん
2007/01/17(水) 13:18:01XMLシリアライズは、いわゆるシリアライズのイメージと違う部分が多い。
プロパティのシリアライズなんてそんな感じ。
0968デフォルトの名無しさん
2007/01/17(水) 14:58:260969デフォルトの名無しさん
2007/01/17(水) 21:02:00Setterさえ制御できれば・・・
0970デフォルトの名無しさん
2007/01/18(木) 10:21:470971デフォルトの名無しさん
2007/01/18(木) 13:44:15やりたきゃIXmlSerializablでも実装すれば?
0972デフォルトの名無しさん
2007/01/18(木) 14:11:500973デフォルトの名無しさん
2007/01/18(木) 15:17:52意味通じてねーよ
0974デフォルトの名無しさん
2007/01/18(木) 15:24:53いいから内部状態を再現できないシリアライズに何の意味があるのかとっととかけボケ。
0975デフォルトの名無しさん
2007/01/18(木) 15:34:180976デフォルトの名無しさん
2007/01/18(木) 15:36:37Form1、Form2、Form3 と 3 つのフォームを作り、Form1 と Form2 には button1 を
置きます。また、Form3.ShowInTaskbar = false とします。
Form1 の button1_Click() を以下のようにします。
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.ShowDialog(this);
f2.Dispose();
this.Show();
}
Form2 では、Form2_Shown() と button1_Click() を以下のように書きます。
private void Form2_Shown(object sender, EventArgs e)
{
this.Owner.Hide();
}
private void button1_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.ShowDialog(this);
f3.Dispose();
}
0977976
2007/01/18(木) 15:37:51なって Form2 が出ます。タスクバーには Form2 のアイコンだけが見えています。
次に Form2 のボタンをクリックすると Form2 は見えたままで Form3 がモーダル
ダイアログとして表示されます。タスクバーには Form2 のアイコンだけ。ここまでは
希望どおりの動作です。
さて、ここでタスクバーの他のアイコンをクリックしてから Form2 のアイコンを
クリックすると、Form3 ではなく Form2 がアクティブになってしまいます。この
状態で [Enter] キーを叩くと Form2 のボタンが押され、Form3 がもう 1 枚開いて
しまいます。
タスクバーの Form2 アイコンをクリックしたら Form3 がアクティブになってほしい
ものですが、いいテはないものでしょうか。それとも私がヘンなコーディングを
している? なお、Form1 を非表示にしなくても同じ動作をするようです。
助けてエロい人。
0978デフォルトの名無しさん
2007/01/18(木) 15:50:00かつどうしてもやりたかったらインターフェイス実装しろってんだろーがよ
全部無視して意味ねー意味ねーうざいんだよ
0979デフォルトの名無しさん
2007/01/18(木) 15:59:15private void Form3_Load(object sender, EventArgs e)
{
this.Owner.Activated += new EventHandler(Owner_Activated);
}
private void Owner_Activated(object sender, EventArgs e)
{
this.Focus();
}
Form3にかけ
0980976
2007/01/18(木) 16:15:32うまくいきました。他フォームのイベントハンドラを自フォームに記述するという
発想は出て来ませんでした。
これで心置きなく納品できます。どうもありがとうございました。
0981デフォルトの名無しさん
2007/01/18(木) 16:22:410982デフォルトの名無しさん
2007/01/18(木) 17:15:08読める形での設定情報の保存とか
パブリックなフィールドやプロパティを
シリアライズ・デシリアライズする場面ならなんでも。
状態を完全再現したけりゃバイナリシリアライズすりゃいい
XMLシリアライズはそういう目的じゃないってだけだろ
0983デフォルトの名無しさん
2007/01/18(木) 17:18:16いつそんな質問があったんだよ。
お前が一人でとにかく使えんてわめいてるだけ。
0984デフォルトの名無しさん
2007/01/18(木) 17:21:11このスレいつから初心者相手にするようになったの?
0985デフォルトの名無しさん
2007/01/18(木) 17:53:09( ゚Д゚)<氏ね!能無し。
0986デフォルトの名無しさん
2007/01/18(木) 17:59:20C♯, C#相談室 Part37
http://pc10.2ch.net/test/read.cgi/tech/1169110545/
0987デフォルトの名無しさん
2007/01/18(木) 18:15:050988デフォルトの名無しさん
2007/01/18(木) 18:16:140989デフォルトの名無しさん
2007/01/18(木) 18:16:550990デフォルトの名無しさん
2007/01/18(木) 22:06:400991デフォルトの名無しさん
2007/01/19(金) 06:57:510992デフォルトの名無しさん
2007/01/19(金) 10:26:050993デフォルトの名無しさん
2007/01/19(金) 10:37:210994デフォルトの名無しさん
2007/01/19(金) 10:38:250995デフォルトの名無しさん
2007/01/19(金) 10:42:240996813
2007/01/19(金) 11:10:53Dictionary<string,IntPtr>
SendMessage(this.textBox1.Handle, WM_SETTEXT, 0, (IntPtr)Marshal.StringToHGlobalAnsi(msg));
Marshal.FreeHGlobal(msg);
こういうことですか?
>>948
SendMessage(this.textBox1.Handle, WM_SETTEXT, 0,msg);
という風に書くことが出来るようになるということでしょうか??
0997デフォルトの名無しさん
2007/01/19(金) 12:20:040998デフォルトの名無しさん
2007/01/19(金) 13:08:14地震は来るものじゃなくて起こるもの。
「その自信はいったいどこから来るの?」とは用法が若干異なる。
0999デフォルトの名無しさん
2007/01/19(金) 15:30:371000デフォルトの名無しさん
2007/01/19(金) 15:31:0410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。