|   | 
          
 
            
|  
              
 .NET TIPS 
文字列入力用ダイアログ・ボックスを簡単に開くには?(VB.NET関数活用)
デジタルアドバンテージ 遠藤 孝信 
              2005/09/23 | 
  | 
          
 
            
 
              
 
             | 
        
  Windowsアプリケーションにおいて、メイン・ウィンドウ以外でユーザーからの文字列の入力が必要となった場合、通常はダイアログ・ボックスを表示するが、VB.NETのライブラリには次のようなダイアログ・ボックスを開くInputBox関数が用意されている。
 
  | 
 
| VB.NETのInputBox関数によって開くダイアログ・ボックス | 
 
| 画面にある「タイトルバー文字列」「質問内容」「デフォルトの答え」の文字列は関数のパラメータにより指定できる。 | 
 InputBox関数では、ダイアログ・ボックスとなるフォームを定義する必要もなく、入力された文字列を関数の戻り値として受け取ることができる。本稿では、このInputBox関数をVB.NETおよびC#から利用する手順について解説する。
VB.NETにおけるInputBox関数の呼び出し
 VB.NETでのInputBox関数の呼び出し方法は、すべてのパラメータを指定する場合には次のようになる。
 
Dim inputText As String 
 
inputText = InputBox("質問内容", "タイトルバー文字列", "デフォルトの答え", 200, 100)
 | 
 
 
 | 
 
| nputBox関数の呼び出し例(VB.NET) | 
 この場合には、デスクトップ領域の(200, 100)の位置にダイアログ・ボックスが表示されることになる。上述したように、関数の戻り値は入力された文字列となるが、ダイアログ・ボックスが[キャンセル]ボタンにより閉じられた場合には、戻り値は空文字列となる。
 VB.NETではメソッド呼び出しでパラメータを省略することができ、InputBox関数では第2パラメータ以降が省略できる。このため、次のようにしてもInputBox関数を呼び出すことができる。
 
 
Dim inputText As String 
 
inputText = InputBox("質問内容")
 | 
 
 
 | 
 
| パラメータを省略した場合のInputBox関数の呼び出し例(VB.NET) | 
 この場合には、次のようなダイアログ・ボックスが画面の中央に表示される。
 
  | 
 
| 第1パラメータのみを指定した場合のダイアログ・ボックス | 
 
| 第2パラメータ以降を省略した場合、ダイアログ・ボックスは画面中央に表示され、タイトルバー文字列にはアプリケーション名が使用される。 | 
 第2パラメータで指定するタイトルバー文字列を省略した場合、アプリケーション名(正確にはアセンブリ名。Visual Studio .NETではプロジェクトのプロパティから変更可能)がダイアログ・ボックスのタイトルバー文字列となる。
C#におけるInputBox関数の呼び出し
 VB.NETの関数は、C#からも利用できる。その具体的な利用方法については「TIPS:VB.NET固有の関数をC#で使用するには?」を参照していただきたい。
 C#からは、InputBox関数はInteractionクラス(Microsoft.VisualBasic名前空間)の静的メソッドであるInputBoxメソッドとして利用可能だ。上記のVB.NETでの最初の呼び出し例は、C#では次のようになる。
 
string inputText; 
 
inputText = Interaction.InputBox( 
    "質問内容", "タイトルバー文字列", "デフォルトの答え", 200, 100);
 | 
 
 
 | 
 
| InputBox関数の呼び出し例(C#) | 
 C#にはパラメータを省略してメソッドを呼び出す機能がないため、パラメータを省略したVB.NETの呼び出しと同じ動作をさせるには、パラメータとしてその既定値を指定しなければならない(InputBox関数のパラメータの既定値はリファレンス・マニュアルに記されている)。
 従って、上記のVB.NETでの2番目のInputBox関数の呼び出し例は、C#では次のようになる。
 
string inputText; 
 
inputText = Interaction.InputBox("質問内容", "", "", -1, -1);
 | 
 
 
 | 
 
| パラメータを省略した場合のInputBox関数の呼び出し例(C#) | 
 ちなみに、ダイアログ・ボックスのX座標(第4パラメータ)を省略(既定値である-1を指定)し、Y座標(第5パラメータ)を省略しなかった場合には、ダイアログ・ボックスの表示位置のX座標は画面のサイズにかかわらず「600」となる。同様に、Y座標のみを省略した場合には、表示位置のY座標は「350」となる。
          
 
            
カテゴリ:Windowsフォーム 処理対象:ダイアログ・ボックス 
カテゴリ:C# 処理対象:VB.NET関数  
使用ライブラリ:InputBox関数(Microsoft.VisualBasic名前空間) 
                関連TIPS:VB.NET固有の関数をC#で使用するには? | 
        
 
        
 
|  
 | 
 
generated by  
 | 
 
 
 | 
 
 
	
		Insider.NET 記事ランキング
		
		
			本日
			月間