- ふらっと C#,C♯,C#(初心者用) Part144
392 :デフォルトの名無しさん (ワッチョイ 13ad-gVUp)[sage]:2019/08/20(火) 01:06:30.58 ID:yjnOK/Bv0 - 「通知」…もし表示済みのフォームをあとからいじりたい場合、
public static class static1 { public static form1 form1; //スタティッククラスのフィールドを用意して、 ------------------------------------- public partial class form1 : Form { public form1() { static1.form1 = this; //各自のインスタンスを各自のコンストラクタで設定しておく ------------------------------------- public partial class CounterForm : Form { public void hoge() { try { Exception er = null; this.Invoke( (MethodInvoker)delegate { //デリゲートせずに外からフォームをいじるとエラーになることがある try { static1.form1.DoSomething(); //スタティッククラスのフィールドを経由すると表示済のものがいじれる } catch( Exception e ) { er = e; } //ちなみにデリゲート内のエラーは外側でキャッチできないので、 } ); if( er != null ) { throw er; } //変数を経由して外側でスローする
| - ふらっと C#,C♯,C#(初心者用) Part144
394 :デフォルトの名無しさん (ワッチョイ 13ad-gVUp)[sage]:2019/08/20(火) 07:52:56.91 ID:yjnOK/Bv0 - UIと関係あるからフォームなんだろうけど…
非同期処理中にポップアップが出て、その間もメインは触れるが、終わるとメインが変更される なんてことはよくある 書式設定的なのも別フォームから別フォームをいじるわけだし 前のいじり方を残すために、閉じても隠すだけで、同じインスタンスを再表示したい場合とか
|
|