- 締切済み
C# Formの非アクティブ化をふせぎたい
いつもお世話になっております。 メインのFormからサブFormをShow()で呼び出しています。 サブFormが表示された後、メインFormをクリックすると当然メインFormがアクティブになりますが、 ある条件下においてサブFormからぬけられなくしたいのですが、何か良い方法はありますか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- himajin100000
- ベストアンサー率54% (1660/3060)
関連するQ&A
- 【C#】Form1からForm2を表示したとき、Form2がForm1
【C#】Form1からForm2を表示したとき、Form2がForm1を所有する 検索しても見つからなかったので質問させていただきます。 Form1からForm2を表示(Form2.Instance.Show();)したとき、 Form2がForm1の上にこないように、また、Form2は必ずForm1のすぐ後ろであるようにして欲しいんです。 たとえば、 IEで検索ウィンドウを開いたときに、検索ウィンドウを表示していてもIEは操作できるけど(モードレス)、IEの後ろに検索ウィンドウが行くことはありません。 これはForm2.Instance.Show(this);とすればいいだけですが、 自分がやりたいのはその逆です。 検索ウィンドウの後ろにIEが行くことがないようにしたいんです。 Form1.Activateなどを使って無理やりさせようとしましたが、 無理だったので質問しました。 わかる方は教えていただけると嬉しいです。 お願いします。 (ちなみにVisualStudio2010、.NET Framework3.5です。)
- ベストアンサー
- C・C++・C#
- C# formの併用
今,メインformに枠があり,そこをクリックするとform2が開きます. form2で何らかの情報を入力して「書き込み」ボタンを押したらメインformの枠に入力した情報を 反映させたいのですが,下記のコードだけではエラーが出てうまくいきません. 例えばform2において form1.rabel1.text=textbox1.text; とすると 「アクセスできない保護レベルになっています」というエラーが表示されます. どなたかこの解決方法をご教示願えないでしょうか?
- 締切済み
- C・C++・C#
- VB2010の、Formを開く動作に関する質問です
VB2010のFormについてお聞きしたいことがあります。 例えばForm1とForm2の2つがあるとして、 ・Form1上のボタンをクリック後Form2が表示される ・Form2を表示後Form1は自動で閉じられる。 この様な事をするにはどの様に行えばよろしいでしょうか? 試しに、 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form2.Show() Me.Close() End Sub と、してみたのですが Form2が表示された直後に1と2両方消えてしまいました。 改善方法を教えていただけると嬉しいです。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- 新しくform2を開いた時、呼び出した親のform1を最前面に表示したい。
Form1から Form2.Show 0, Me と、Form2を開きます。 この際、Showメソッドの書式 object.Show style, ownerform のstyleは0(モードレス)です。 この状態でデバッグモードにし、呼び出した元のForm1をクリックした時、Form1はアクティブになるのですがForm2の後ろに隠れて見えません。 Form1がForm2の後ろにあってもフォーカスが移動したら最前列に表示させることは出来ないでしょうか? ご存知の方々、どうかお知恵を貸してくださいm(_ _)m
- ベストアンサー
- Visual Basic
- クリックした場所にFormを開く
教えてください! VBでクリックした場所にFormを開くには、どうしたらいいですか? Private Sub Command3_Click() Frm.Show End Sub
- ベストアンサー
- Visual Basic
- 【VB.NET】別Formのボタンが押されるまで待機する方法??
【VB.NET】別Formのボタンが押されるまで待機する方法?? 今晩は,いつもいつも勉強させていただいております. 質問させていたきます.どうぞよろしくお願いいたします. 開発環境XP+VB2008になります。 今までは、コード中のMsgBoxで続行か中断かを選択するために Private Sub Button1_Click : : : If MsgBox("続行しますか?", MsgBoxStyle.OkCancel, "確認") = vbOK Then Else Exit Sub End If : : : End Sub としておりましたが、このMsgBox上に複数のコントロールが必要になって しまいましたので、同じ形のFormを作成いたしました。 (Form_MsgBox上に、ButtonOK、ButtonCancel、Label1に加え TextBox1を配置) Form_MsgBox.LabelMsg.Text = "確認" Form_MsgBox.Show() が、このメッセージ表示中だけPrivate Sub Button1_Clickを 止めておく方法がわかりません。。。 ButtonOKかButtonCancelが押されるまで待機したいのですが。。 検索いたしておりますと、何か他のアプリを起動した場合に それが終わるまで待機する、といった方法は結構見つかるのですが。。。 何か良さそうな方法など思いつかれるようでございましたら、 是非ともアドバイスいただきたくお願い申し上げます。 もしお詳しい方がいらっしゃいましたら,どうぞよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- VB.NET Form1からForm2を開いたり閉じたりする方法
VB.NET2005でForm1にあるCheckBoxをTrueにするとform2をモードレスフォームとして開き、CheckBoxをFalseにするとform2を閉じる方法がわかりません。また、form2の[×]で閉じた時にはForm1にあるCheckBoxをFalseにする方法がわかりません。 '----------------------------------- Private Sub CheckBox2_CheckedChanged ・・・ Dim f_cnt As Integer Dim form2 As New Form2() f_cnt = My.Application.OpenForms.Count If CheckBox1.Checked = True Then If f_cnt = 1 Then form1.Show() 'モードレスフォームとして表示する Else form2.Close() ←閉じない End If End Sub '-----------------------------------
- ベストアンサー
- Visual Basic
- C# form
Button _Button = (Button)sender; int but = 0; if (_Button.Name == "button1") { but = 1; } if (_Button.Name == "button2") { but = 2; } if (_Button.Name == "button3") { but = 3; } //Form2クラスのインスタンスを作成する Form2 f2 = new Form2(this); //Form2を表示する //ここではモーダルダイアログボックスとして表示する ////オーナーウィンドウにthisを指定する //f.ShowDialog(this); //フォームが必要なくなったところで、Disposeを呼び出す f2.Show(); 上記のようにボタン配列を作成し,クリックイベントを発生させています.そこで押されたボタンにより butに所定の値を入れてこれを,form2において判断値として使用したいのですが,どのようにすれば 良いでしょうか? 昨日から悩んでいるのですが自分だけでは解らないのでご教示願いたいと思います.
- ベストアンサー
- C・C++・C#
- form2 から form1に戻ったとき、form1のTextboxの内容を消したくないのですが
.NETのBasicでform1からform2に移行するため Dim F2 As New Form2() Me.Hide() F2.Show() この後、form1にもどるため Dim F1 As New Form1() F1.Show() Me.Hide() 上記のように書くと、form1のTextboxの内容が消えてしまいますよね。 これを消さずにまたform1のTextboxの編集が続けられるようにしたいのですが、どうすればいいでしょうか ただ単にform1を見えなくする方法が違うのでしょうか 初歩的な質問ですいません。
- ベストアンサー
- Visual Basic
- Formオブジェクトについて
Formオブジェクトに関する質問です。 ある関数にフォームオブジェクトを引数として渡してやりたいのですが、何かよい方法はありますでしょうか? 例) Private Sub cmdTest_Click(Index as Integer) Dim frm as Form If Index = 0 then Load_Test(Form 2) Else Load_Test(Form 3) End if End Sub Private Sub Load_Test(frm as Form) frm.Show frm.Label1.Caption = "TEST” End Sub
- ベストアンサー
- Visual Basic
補足
ご回答ありがとうございます。 モードレスの場合を考えています。 また、メインFormのActivatedからの操作からなら可能なのですが、 サブFormのイベントで何とかできないかと考えております。