.NET TIPS [Silverlight 2]ページ表示時にテキストボックスにフォーカスを設定するには?[C#、VB]デジタルアドバンテージ 遠藤 孝信2009/12/10 |
![]() |
|
Silverlightの各コントロールでは、次のようにFocusメソッドを呼び出すことにより、そのコントロールにフォーカスを設定できる。これは、Focusメソッドが、コントロールの基底クラスであるUIElementクラス(System.Windows名前空間)で実装されているためだ。
| ||
コントロールにフォーカスを設定するコード(上:C#、下:VB) | ||
このコードでは、ボタンがクリックされたときにテキストボックス(textBox1/TextBox1により参照)にフォーカスを設定するという場面を想定している。 |
しかしながら、Focusメソッドを呼び出してコントロールにフォーカスが設定できるのは、すでにページ内のSilverlightコントロール自体がフォーカスを持っている場合である(上記のコードの場合ではボタンが押された時点で必然的にそのようになる)。
このため、あらかじめSilverlightコントロール内のテキストボックスにフォーカスが設定された状態でページを表示しようとして、SilverlightコントロールのLoadedイベント・ハンドラで上記のようにFocusメソッドを呼び出しても、テキストボックスにフォーカスは設定されない。
ページ表示時にSilverlightコントロールのテキストボックス(TextBoxコントロール)にフォーカスを設定するには、次のようにして、Silverlightコントロール自体にもフォーカスを設定する必要がある。
| ||
ページ表示時にテキストボックスにフォーカスを設定するコード(上:C#、下:VB) | ||
まずSilverlightコントロール自体にフォーカスを設定し、次にテキストボックス(textBox1/TextBox1により参照)にフォーカスを設定する(順序は逆でも可)。 |
ここでは、Silverlightコントロールを参照するのに、HtmlPageクラス(System.Windows.Browser名前空間)のPluginプロパティにあるFocusメソッドを呼び出しているが、このPluginプロパティは、<object>タグで記述されたSilverlightコントロールを参照するためのものだ。
カテゴリ:Silverlight 2 処理対象:コントロール カテゴリ:Silverlight 2 処理対象:HTML DOM 使用ライブラリ:UIElementクラス(System.Windows名前空間) 使用ライブラリ:HtmlPageクラス(System.Windows.Browser名前空間) |
![]() |
「.NET TIPS」 |
Insider.NET フォーラム 新着記事
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
![]() |
|
|
|
![]() |