Vb.net-advanced-forms
VB.Net-高度なフォーム
この章では、次の概念を勉強しましょう-
- アプリケーションにメニューとサブメニューを追加する
- フォームに切り取り、コピー、貼り付け機能を追加する
- フォームでのコントロールの固定とドッキング
- モーダルフォーム
アプリケーションにメニューとサブメニューを追加する
伝統的に、Menu _、 MainMenu 、 ContextMenu_、および_MenuItem_クラスは、Windowsアプリケーションにメニュー、サブメニュー、およびコンテキストメニューを追加するために使用されていました。
現在、 MenuStrip 、 ToolStripMenuItem 、 ToolStripDropDown 、および ToolStripDropDownMenu コントロールは、以前のバージョンのメニュー関連のコントロールを置き換え、機能を追加します。 ただし、下位互換性と将来の使用の両方のために、古いコントロールクラスは保持されます。
これらのコントロールはまだ古いアプリケーションで多く使用されているため、最初に古いバージョンのコントロールを使用して、典型的なウィンドウのメインメニューバーとサブメニューを作成しましょう。
以下は、ファイル、編集、表示、プロジェクトのメニュー項目を含むメニューバーを作成する方法を示す例です。 「ファイル」メニューには、「新規」、「開く」、および「保存」というサブメニューがあります。
フォームをダブルクリックして、開いたウィンドウに次のコードを配置しましょう。
上記のコードが実行され、Microsoft Visual Studioツールバーで使用可能な[スタート]ボタンを使用して実行されると、次のウィンドウが表示されます-
Windowsフォームには、モダンな外観、ルックアンドフィールを持つ独自のカスタムメニューを作成するための豊富なクラスセットが含まれています。 MenuStrip 、 ToolStripMenuItem 、 ContextMenuStrip コントロールは、メニューバーとコンテキストメニューを効率的に作成するために使用されます。
詳細を確認するには、次のリンクをクリックしてください-
Sr.No. | Control & Description |
---|---|
1 |
フォームのメニューシステムを提供します。 |
2 |
|
3 |
ショートカットメニューを表します。 |
フォームに切り取り、コピー、貼り付け機能を追加する
以下の一般的に使用される方法があります-
Sr.No. | Method Name & Description |
---|---|
1 |
Clear クリップボードからすべてのデータを削除します。 |
2 |
ContainsData 指定された形式のデータがクリップボードにあるか、その形式に変換できるかを示します。 |
3 |
ContainsImage クリップボード上にビットマップ形式のデータがあるか、その形式に変換できるデータがあるかを示します。 |
4 |
ContainsText オペレーティングシステムに応じて、テキスト形式またはUnicodeText形式でクリップボードにデータがあるかどうかを示します。 |
5 |
GetData 指定された形式でクリップボードからデータを取得します。 |
6 |
GetDataObject 現在システムクリップボードにあるデータを取得します。 |
7 |
GetImage クリップボードから画像を取得します。 |
8 |
GetText オペレーティングシステムに応じて、クリップボードからテキストまたはUnicodeText形式でテキストデータを取得します。 |
9 |
GetText(TextDataFormat) 指定したTextDataFormat値で示される形式で、クリップボードからテキストデータを取得します。 |
10 |
SetData クリップボードをクリアしてから、指定された形式でデータを追加します。 |
11 |
SetText(String) クリップボードをクリアしてから、オペレーティングシステムに応じて、テキストまたはUnicodeText形式のテキストデータを追加します。 |
以下は、Clipboardクラスのメソッドを使用してデータを切り取り、コピー、貼り付ける方法を示す例です。 次の手順を実行します-
- フォームにリッチテキストボックスコントロールと3つのボタンコントロールを追加します。
- ボタンのテキストプロパティをそれぞれ、切り取り、コピー、貼り付けに変更します。
- ボタンをダブルクリックして、コードエディターに次のコードを追加します-
上記のコードが実行され、Microsoft Visual Studioツールバーで使用可能な Start ボタンを使用して実行されると、次のウィンドウが表示されます-
テキストを入力して、ボタンの動作を確認します。
フォーム内のコントロールのドッキングとドッキング
コントロールをフォームにアンカーすると、フォームのサイズが変更されても、コントロールはフォームの端からの距離とアンカー位置を維持します。
あなたは、プロパティウィンドウからコントロールのアンカープロパティ値を設定することができます-
たとえば、フォームにButtonコントロールを追加し、そのアンカープロパティをBottom、Rightに設定します。 このフォームを実行して、フォームに対するButtonコントロールの元の位置を確認します。
これで、フォームを引き伸ばしても、ボタンとフォームの右下隅との距離は同じままです。
コントロールの*ドッキング*は、コントロールをコンテナの端の1つにドッキングすることを意味します。 ドッキングでは、コントロールはコンテナの特定の領域を完全に埋めます。
Controlクラスの Dock プロパティがこれを行います。 Dockプロパティは、親コントロールにドッキングされるコントロールの境界線を取得または設定し、コントロールが親とともにどのようにサイズ変更されるかを決定します。
あなたは、プロパティウィンドウからコントロールのDockプロパティ値を設定することができます-
たとえば、フォームにButtonコントロールを追加し、そのDockプロパティをBottomに設定してみましょう。 このフォームを実行して、フォームに対するButtonコントロールの元の位置を確認します。
これで、フォームを拡大すると、ボタンはフォームに合わせてサイズ変更されます。
モーダルフォーム
- モーダルフォーム*は、アプリケーションの残りの部分で作業を続ける前に閉じるか非表示にする必要があるフォームです。 すべてのダイアログボックスはモーダルフォームです。 MessageBoxもモーダルフォームです。
あなたは2つの方法でモーダルフォームを呼び出すことができます-
- ShowDialog メソッドを呼び出す
- Show メソッドを呼び出す
モーダルフォーム、ダイアログボックスを作成する例を取り上げましょう。 次の手順を実行します-
- フォームForm1をアプリケーションに追加し、2つのラベルとボタンコントロールをForm1に追加します
- 最初のラベルとボタンのテキストプロパティをそれぞれ「Welcome to Tutorials Point」と「Enter your Name」に変更します。 2番目のラベルのテキストプロパティを空白のままにします。 + VB.Net Modal Form Example、width = 282、height = 248
- 新しいWindowsフォームForm2を追加し、2つのボタン、1つのラベル、およびテキストボックスをForm2に追加します。
- ボタンのテキストプロパティをそれぞれ[OK]と[キャンセル]に変更します。 ラベルのテキストプロパティを「名前を入力してください」に変更します。
- ダイアログボックスの境界線を設定するには、Form2の_FormBorderStyle_プロパティを_FixedDialog_に設定します。
- Form2の_ControlBox_プロパティをFalseに設定します。
- Form2の_ShowInTaskbar_プロパティをFalseに設定します。
- [OK]ボタンの_DialogResult_プロパティを[OK]に、[キャンセル]ボタンを[キャンセル]に設定します。
Form2のForm2_Loadメソッドに次のコードスニペットを追加します-
Form1のButton1_Clickメソッドに次のコードスニペットを追加します-
上記のコードが実行され、Microsoft Visual Studioツールバーで使用可能な Start ボタンを使用して実行されると、次のウィンドウが表示されます-
「名前を入力してください」ボタンをクリックすると、2番目のフォームが表示されます-
[OK]ボタンをクリックすると、コントロールと情報がモーダルフォームから前のフォームに戻ります-