- ベストアンサー
C#フォーム間のイベント駆動方法とは?
- C#のフォーム間でイベント駆動する方法について知りたいです。具体的には、Form1とForm2の間でチェックボックスの状態が変わったときに、それぞれのピクチャーボックスのイメージも変更したいです。静的変数を使ったり、Form1とForm2が分かれていない例が多く、解決策が見つかりません。
- C#の初心者です。Form1とForm2の間でイベント駆動する方法を教えてください。具体的には、Form2のチェックボックスの状態が変わったときに、Form1のピクチャーボックスのイメージも変更したいです。ネットで調べても良い解決策が見つからず、困っています。
- C#でフォーム間のイベント駆動方法について質問です。Form1とForm2の間でチェックボックスの状態が変わったときに、ピクチャーボックスのイメージも変更したいのですが、具体的な方法が分かりません。静的変数を使用する方法や、Form1とForm2が分かれていない例が多く、困っています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- FoolWord
- ベストアンサー率73% (14/19)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
関連するQ&A
- C# のクリックイベント
別のイベントからクリックイベントを発生させるのに Button1.PerformClick(); は、うまくいくのですが、 これがピクチャーボックスになったとき pictureBox1.PerformClick(); 下記のエラーが出てしまいます。 ピクチャーボックスのボタンクリックイベントを発生させる方法はないでしょうか? 'System.Windows.Forms.PictureBox' に 'PerformClick' の定義が含まれておらず、型 'System.Windows.Forms.PictureBox' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
- ベストアンサー
- C・C++・C#
- フォームのResizeイベントについて
超ド級の初心者ですが、Visual Basic.NETの本を買って勉強を始めました。 その中で「フォームのResizeイベントが発生するたびに、フォームのWidthプロパティをテキストボックスに表示するように」との練習問題がありましたがうまくできません。 Visual Basic6.0もあるので、そちらで同じことをやってみたところ、以下のようなコードで正常に動作しました。 Private Sub Form_Resize() Text1.Text = Me.Width End Sub Visual Basic.NETではどう記述すればいいのか教えていただけませんか?
- ベストアンサー
- Visual Basic
- フォームのピクチャーボックスの内容の退避
動的に変わるピクチャーボックスの内容を以下の配列変数に設定したいのです。 dim Pct(X) as picturebox set pct(X) = form1.picture1 同じピクチャーボックスを表示したい場合は、以下のように変数から画面に設定したいのです。 set form1.picture1 = pict(X) が、退避しているはずなのに、全てがおなじピクチャーになってしまいます。 そんなことってありますか? 私が間違っているところがあれば、教えてください。 ピクチャーの内容は、VBからExcelのグラフを編集した後、クリップボード経由でピクチャーボックスに貼り付けたものです。
- ベストアンサー
- Visual Basic
- PHPでチェックボックスの結果を離れた配列に入れる
PHPにて、複数あるチェックボックスの操作結果(オン/オフ)を変数に格納する方法を探しています。 予定として プログラム実行 → ボタンが1つと、チェックボックスが複数表示される → チェックボックス操作 → ボタンを押す → 複数のオン/オフ状況が配列に格納される といったものを作りたいと考えています。 現在はそのためのテストとして、ボタンを押した際のオン/オフの状況が画面に順に表示されるものを作っていますが、変数がUndefined Indexであると言われ、表示することができません。 現在のプログラムは下の通りです。 実際のプログラム上では、(1),(2),(3)はそれぞれソース内のかなり離れた場所にあります。 各チェックボックス(各<form>~</form>)毎にボタンを用意していないのが原因であるとは思うのですが、ボタンは特定の箇所に1つだけ用意したいと考えています。 またチェックボックス表示部とボタン表示部は(ソース的に)離れているため、 ボタン表示部で<form>を開いて、開いたまま進み、チェックボックス表示部が終わってやっと閉じる、という方法は難しいと思います。 どうすればチェックボックスの結果を離れた箇所にある配列に入れることができるのでしょうか。 宜しくお願いします。 [regist.php] <?php //(1) 更新ボタンを押すとチェックボックスのon/off結果が表示される if(isset($_POST['cmd_Print'])){ $check = $_POST["cb"]; for($i=0; $i<count($check); $i++){ print "${check[$i]}<br>"; } } //(2) 更新ボタンの表示 print("<form method=\"post\" action=\"regist.php\">"); print("<input type=\"submit\" name=\"cmd_Print\" value=\"結果表示\">"); print("</form>"); //(3) チェックボックス(on,off)を交互に表示 for($i=0; $i<5; $i++){ //チェックボックスをオンの状態で表示 print("<form method=\"POST\" action=\"./regist.php\">"); print sprintf('<input type="hidden" name="cb[]" value="off">'); print sprintf('<input type="checkbox" name="cb[]" value="on" checked="checked">'); print("</form>"); //↑チェックボックス操作後、オフの状態なら$cb[]に"off"を、オンの状態なら$cb[]に"on"を入れる //チェックボックスをオフの状態で表示 print("<form method=\"POST\" action=\"./regist.php\">"); print sprintf('<input type="hidden" name="cb[]" value="off">'); print sprintf('<input type="checkbox" name="cb[]" value="on">'); print("</form>"); //↑チェックボックス操作後、オフの状態なら$cb[]に"off"を、オンの状態なら$cb[]に"on"を入れる } ?>
- 締切済み
- PHP
- VB6.0で複数フォームのグラフ描写ができません
VB6.0でForm1にある描画ボタンを押すと、Form2が表示され、Form2のピクチャーボックスにグラフが描かれるコードを作っているところです。 ところが、Form2にはグラフが描かれません。 以下の簡単なコード(ピクチャーボックス2の背景を白色にする)も実行されません。 Form1にピクチャーボックスを作り、描画ボタンを押すとそこにグラフが表示されるようにしたところ、グラフが描かれました。 フォームは2つ表示させると問題があるのでしょうか? なにか考えられる原因を教えていただけないでしょうか。 Form1に記述しているコード Dim GraphForm As New Form2 GraphForm.Show Form2.Picture2.BackColor = vbWhite
- ベストアンサー
- その他(ソフトウェア)
- Access データ表示 完了時のイベント
Access2003で開発しております。 フォームのLoadが完了したというタイミングを取得したいのですが、 Formのイベントでそのようなイベントはありますでしょうか? 本当は「各テキストボックスにテーブルからのデータがセットされた後」 というタイミングが取得したいのですが、VBとは違い、ロジックに よる値の変更ではChangeイベントは発生しないようで・・・、 AfterUpdateイベントも、フォーカスを当てて直に編集しないと 発生しないようなので・・・。ですので、値セットが完了した= Form_Loadが完了した、というようなイベントがありましたら ご教授願いします。宜しくお願いします。
- ベストアンサー
- Visual Basic
- mouse dowunイベントについて
VB6.0 MouseDowunイベントについて質問です。 ピクチャーボックスをクリックした場合 ピクチャーボックス領域の上半分をクリックしたら フォーム表示位置を上移動、下半分だったら下移動という処理を行っています。 しかし、現状ではチェックボックスなどのその他コントロールを操作している際に すこしでもクリック位置がずれると表示位置が移動してしまう誤作動が起こってしまいます。 これを防止するためにクリックではなくダブルクリックで対応したいのですが マウスダウンイベントでダブルクリックを対応させることは可能ですか? Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Form1.ScaleHeight / 2 - y < 0 Then Picture2.Top = Form1.ScaleHeight / 2 - y If Picture2.Top < -VScroll1.Max Then Picture2.Top = -VScroll1.Max End If Else Picture2.Top = 0 End If End Sub
- 締切済み
- Visual Basic
- C#で別スレッドからメインformをアクティブ化
質問番号:7352165で質問中の者です。 デリゲートとInvokeを使ったスレッドでは、スレッド実行中にイベントが発生しないので止む無く直接スレッドを起動しているのですが、この方法ではメインformのTextBoxなどに直接アクセスできません。 それでアクセスするメソッドをデリゲート+Invokeで呼んでおり、TextBoxの表示は正常に動作していますが、フォーカスをメインformに移動させる為にActivate();メソッドを記述すると「フィールド初期化子は静的でないフィールド、メソッド、または……を参照できません」の記述エラーとなります。 あまり理解できていないので基本的な使い方が間違っているかも知れませんが、何か解決策があればお教え下さい。 public void FormActive() ← メインform(fmTax)に記述 { this.Activate(); } private delegate void ActivDelegate(); ← 別スレッドに記述 ActivDelegate activDelegate = delegate() { fmTax.FormActive(); ← ここにエラー表示 };
- 締切済み
- C・C++・C#
- VBA チェックボックスのイベント発生タイミング
すみません、初心者なのですが教えてください。 エクセルのシート上に複数のチェックボックスを貼り付け、 そのうちいくつかにチェックをいれ、 別のシートに同時にデータがとぶようにしたいのですが、 今はチェックボックスにチェックをつけた瞬間に イベントが発生してしまいます。 どのような記述をすれば、まとめてデータが とぶようになりますか。教えて頂けませんか。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- ディスプレイ電源イベントについて
こんにちは。 現在、ディスプレイ電源がOFFになったタイミングで処理を行うアプリを作成しています。 言語はC++、WM_POWERBROADCASTイベントのGUID_MONITOR_POWER_ONを受け取り、処理を行っているのですが、ディスプレイ電源ON/OFF以外に、何故かアプリ起動時にもこのイベントが発生してしまいます。 これはそういう仕様なのでしょうか? 端末の電源プラン等何か関わりがあるのでしょうか? どなたかわかる方、ご回答よろしくお願いいたします。
- 締切済み
- C・C++・C#
お礼
ありがとうございます。今動きました。 確かに、親子の関係を利用して動かすのは考えていたんですよね(負け惜しみです)。 いろいろ探ったんですが、「コンテキストがありません」のエラーが取れなくて・・・ よくわかりました。ありがとうございます。 ただ、やはりpublicにするということの怖さが、一抹の不安がぬぐえません。 どうなんでしょう。 プログラミングの一般論として、こういう場合はデリゲートとイベントでやったほうが安全なんでしょうか? お考えを聞かせていただけないでしょうか?