• 締切済み

フォームがアクティブでない時にボタンを表示させないようにするには?

VB2005を使用しています。どうぞよろしくお願いします。 質問の内容ですが、ボタンが一つあるFormとExcelのウインドウが同じ画面内に表示されている時、Formがアクティブの時はボタンが表示され、Excelのウインドウがアクティブの時はFormのボタンが消えるようにしたいのですがどうしても分かりません。 どうぞよろしくお願いします。

みんなの回答

回答No.1

Option Explicit On Option Strict On Option Compare Binary 'Option Infer Off VB 2008以降 Class Q4809493 Inherits System.Windows.Forms.Form Private Button1 As System.Windows.Forms.Button Shared Sub Main() Dim form1 As Q4809493 form1 = New Q4809493() form1.ShowDialog() End Sub Sub New() Button1 = new System.Windows.Forms.Button AddHandler Button1.Click,AddressOf Me.Button1_Click '紛らわしいがActivatedがイベントで,Activateはメソッドらしい。 'でもDeactivateイベントが存在する AddHandler Me.Activated,AddressOf Me.Q4809493_Activated AddHandler Me.Deactivate,AddressOf Me.Q4809493_DeActivate Me.Controls.Add(Button1) End Sub Private Sub Button1_Click(Byval sender As Object,e As System.EventArgs) System.Windows.Forms.MessageBox.Show("クリックされました") End Sub Private Sub Q4809493_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Button1.Visible = true End Sub Private Sub Q4809493_DeActivate(ByVal sender As Object, ByVal e As System.EventArgs) Button1.Visible = false End Sub End Class

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【VB.NET2003】フォーム1を閉じてフォーム2を表示させたい

    プログラミング初心者でVB.NET2003使用です。 検索したところ、それらしいものがあったのでチャレンジしましたがダメだった(ちょっと違う?)ので質問させていただきます。 http://oshiete1.goo.ne.jp/qa1757174.html 《やりたい事》 Form1に配置したボタン1をクリックするとForm1を閉じてForm2を表示 Form2に配置したボタンAをクリックするとForm2を閉じてForm1を表示する。 これをやりたいのですが、なかなかうまく行きません。 ボタン1をクリックしてForm1を閉じないでForm2をShowかShowDialogでモードレス表示 ボタンAをクリックしてForm2をCloseさせてForm1を表示させる事(元々閉じていないので)は出来ます。 可能ならばどちらかを必ず閉じる方法でやりたいと思います。 可能でしょうか? 解決策やヒント、良いサイトがありましたら回答をお願いします。

  • フォームのアクティブと非アクティブ表示について

    Form1からForm2を表示するという処理を以下のようにコーディングしてみました。 **Form1.frm*** Private Sub Command1_Click() Form1.Hide Form1.vbModal Form1.Show End Sub **Form2.frm*** Private Sub Command1_Click() Unlaod Me End Sub 画面にエクスプローラ等のウィンドウが表示されているときに、Form2を表示させようとすると非アクティブ状態で表示されてしまいます。 また、Form2をUnloadするとForm1が表示されるのですが、その際に、Form1のタイトルと、タスクバーに表示されているボタンが反転した後非アクティブ状態になってしまいます。 フォームは常にアクティブで表示させたいのですが、どうすればよいのでしょうか?

  • JqueryMobileでフォームボタンを非表示

    JqueryMobileを使用している環境下でフォームボタンを非表示にする方法を探しています。 以下はID1の消去ボタンをクリックすると、ID2のボタンが消えることを期待しているものです。 しかし、ID2のボタンは消えませんでした。 どのような方法で、フォームボタンを非表示にできるのでしょうか。 なお、JqueryMobileを使用していない環境では、 問題なくID2のボタンが非表示になることを確認していますので、 JqueryMobile使用時のJavascriptの制限が何かしらありそうなのですが・・・。 <form name="myForm" action="#"> <input type="button" value="消去" name="button1" id ="1" onclick="a()"> <input type="button" value="消えるボタン" name="button2" id ="2" > </form> <script type="text/javascript"> <!-- function a(){ var n = document.getElementById("#2"); n.style.visibility = "hidden"; $('#2').button('refresh'); } // --> </script>

  • Webフォームでのウィンドウ表示について

    もしかしたらASPのカテゴリで質問するべき内容なのかもしれませんが、 VB使用しているのでここで質問させて頂きます。 現在、VB.NETを使用してWebアプリケーションを作成していて、 初画面を起動するときにウィンドウを最大表示させたいのですがうまく出来ません。 イメージとしては、Windowsアプリケーションを作成するときの WindowStateをMaximizedにするような感じです。 何か良い方法はないでしょうか? よろしくお願いします。

  • 開く前のフォームを開かないようにしたい

    現在、VB2010で、Windowsアプリを作っています。 Form1から、ボタンで画面遷移を行っているのですが、 Form2でデータを作成する前にForm3に移動しないように MessageBoxで画面表示をさせてからMe.Close()を試したのですが、 Form1の方が閉じてしまい、Closeしない場合はForm3が 立ち上がってしまいます。 何とか、Form1はそのままでForm3が立ち上がらないように したいのですが、いい方法はないでしょうか?

  • 「shift」ボタンが押された時。

    Excel2000のVBAをしています。 既に作成しているマクロを「右クリックメニュー」に登録しようと思ってます。その上で二つ質問があります。 処理したい内容(1) 「shift」ボタンが押しっぱなしの時に「右クリックメニュー」に自作コマンドが表示されている様にし、「shift」ボタンが押されてない時は、Excelの通常の「右クリックメニュー」を表示する方法を教えて頂きたいです。 処理したい内容(2) 現在把握している「右クリックメニュー」に登録するソースは、 With Application.CommandBars("CELL").Controls.Add(Before:=1) .Caption = "mymenu(A)" .OnAction = "syori" なんですが、Excelを「改ページプレビュー」にした場合、登録したコマンドが表示されなくなってしまいます。通常でもプレビューでも使用出来るようにしたいので教えて頂きたいと思っています。 複数の質問ですが、よろしくお願いします。

  • フォームを常に手前に表示する

    環境:WindowsXP VB6 form1からform2を表示させるのですが、form2を常にform1よりも手前に表示させたいと思っています。 表示は手前ですが、コントロールを常に固定したいわけではありません。 モーダルモードで表示するとform1が使用できなくなってしまいます。 解決方法としてどのようにしたらよいでしょうか?

  • 任意のフォームが表示されているかを知りたい

    VB6で、 任意のフォームが表示されているか表示されていないかを知りたいのですが、その方法がわかりません。 具体的に言うと、 いくつかのフォームのあるアプリケーションを作っているのですが、Form2のである処理をしたときに、Form1が画面上に表示されている場合と、表示されていない場合で、異なる処理をしたいのですが、ためしにVisibleやEnableを参照しようとすると、(Form1を表示していない場合)その時点でForm1がロードされ、表示されてしまいます。 そこで、任意のフォームが現在表示されているかどうかを知るプロパティや関数はありますでしょうか? ご存知の方、ご教授お願いいたします。

  • VBの各種フォーム表示について

    ご質問です。フォームに関してですが、各種フォーム表示について 疑問があります。 まずFrom2には Dim frm2 As New Form2 frm2.Show() 等で表示する事が可能ですが、 "Explorer1.vb","LoginForm1.vb","AboutBox1.vb","TextFile1.txt" "Dialog1.vb"等の表示はどの様なコードですか? googleで検索しているものの、1ヶ月経ち全然見つかりません。 是非お教え下さい。 (VB2008使用)

  • フォームが表示されない

    vb.net使用です。 メニュー画面(メイン) 待ち画面(テキストボックスとボタンがあります。) 実行画面 の3つのフォームがあります。 メイン画面から待ち画面を表示し、待ち画面から実行画面に移ります。 待ち画面でテキストにデータが入るまでループさせていて、 テキストにデータが入ってから実行画面を表示させるプログラムを作っているのですが、 待ち画面のループのプログラムで実行画面を表示させているのですが、(この時は表示している) プログラムが終了すると実行画面が消えてしまいます。 ループのプログラムをやめて、ボタンから行うと実行できます。 INVOKEも使用してみても状況がかわりません。 実行画面が使用できるようにするにはどうしたらよいか教えていただけないでしょうか。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ Private Sub 待ち画面_Load(sender As Object, e As System.EventArgs) Handles Me.Load Psmachi End sub Private Sub  Psmachi() Do Until txttxt.text <> “”     実行画面.show Me.hide Loop End sub Private sub bottan_click     実行画面.show Me.hide End sub