クリック イベント プロシージャに関する限り、ボタンとラベルは同じことを行います。ラベルの下にボタンを隠すことはできますが、ボタンの下にラベルを隠すことはできません。なんで?あることを言っているラベルのテキストから始めて、プログラム実行のある時点で別のことを言うことができますか?
2 に答える
どちらもマウスでクリックすると Click イベントを発生させますが、違いはありません。
もちろん、ボタンはこのタスクにはるかに長けています。クリック可能なもののように見えますが、ユーザーはそれを簡単に見つけることができます。彼は、マニュアルが必要なラベルをクリックすることを決して考えません。また、Button はフォーカスを受け取り、マウスを使用せずにクリックできます。Tab キーを押してフォーカスを設定し、スペースバーを押してクリックします。また、Click イベントが MouseClick イベントのようにマウスの位置を渡さない理由もあります。パワーユーザーはこれを好み、キーボードで UI を操作すると、マウスを使用するよりもはるかに高速になります。また、プログラムのライセンスを購入することを推奨する種類のユーザーであるため、非標準または使いにくい UI でユーザーを不快にさせたくありません。
ボタンの下にラベルを隠しても問題ありません。Z オーダーを正しく取得できただけです。デザイナーでボタンを右クリックし、[最前面へ移動] を選択します。もちろん、これには正当な理由が必要です。ラベルはユーザーに表示されないため、ほとんど価値がありません。
何よりもまず、私はあなたが何を望んでいるのかよく理解していないと言わなければなりません...
ただし、コントロールをコントロールの上にするか下にするか、コントロールの内側にするかを選択してください 。 aspx
ほぼすべてを自由に変更できますが、Visual Studio と. NET を使用して、Microsoft は開発を高速化できるベースを作成しました。したがって、可能であれば、それを意味するコントロールを使用することをお勧めします! それぞれが異なるイベントとプロパティを制御します。
あなたが見れば: http://msdn.microsoft.com/en-us/library/system.windows.forms.control.onclick.aspx
Textbox Control は TextBoxBase から継承するので、次のようになります。
Public MustInherit クラス TextBoxBase 継承System.Windows.Forms.Control System.Windows.Forms のメンバー 概要: テキスト コントロールに必要な基本機能を実装します。
ラベル コントロール:
Public クラス Label 継承System.Windows.Forms.Control System.Windows.Forms のメンバー 概要: 標準の Windows ラベルを表します。
したがって、onClick が System.Windows.Forms.Control の下にあることがわかります。System.Windows.Forms.Control から継承するすべてのクラスには、onclik イベントがあります。