回答:
ActiveControl
フォームのプロパティを設定すると、問題ないはずです。
this.ActiveControl = yourtextboxname;
MyTextBox.Focus();
プログラムが実行されると、それはうまく機能するようです。
this.ActiveControl = textBox1;
誰もが「textBox1テキストボックス」の意味を理解しています。「youttextboxname」は次のように聞こえます... = "MyTextBox";
あなたは試すことができます:
ドキュメントによると:
コントロールのSelectableスタイルビットがControlStylesでtrueに設定されていて、別のコントロールに含まれていて、そのすべての親コントロールが表示および有効になっている場合、Selectメソッドはコントロールをアクティブにします。
MyTextBox.CanSelectプロパティを調べて、コントロールが選択可能かどうかを最初に確認できます。
フォームが初めて表示されたときにのみフォーカスを設定したい場合は、Form.Shownイベントを処理してそこで実行してみてください。それ以外の場合は、Control.VisibleChangedを使用します。
これが機能しないのLoad
は、フォームが描画またはレンダリングされる前にイベントが呼び出されるためです。
それは、ピザの場所にピザの作り方を伝え、ピザを作る前にペパロニの量を写真で送ってくれるように依頼するようなものです。
using System;
using System.Windows.Forms;
namespace Testing
{
public partial class TestForm : Form
{
public TestForm()
{
InitializeComponent();
Load += TestForm_Load;
VisibleChanged += TestForm_VisibleChanged;
Shown += TestForm_Shown;
Show();
}
private void TestForm_Load(object sender, EventArgs e)
{
MessageBox.Show("This event is called before the form is rendered.");
}
private void TestForm_VisibleChanged(object sender, EventArgs e)
{
MessageBox.Show("This event is called before the form is rendered.");
}
private void TestForm_Shown(object sender, EventArgs e)
{
MessageBox.Show("This event is called after the form is rendered.");
txtFirstName.Focus();
}
}
}
TextBoxの "TabIndex"プロパティの変更に関する問題を解決しました。プログラムの起動時にフォームにフォーカスするTextBoxに0を設定します。
タブインデックスプロパティの値を0に設定し、フォームロード関数で次のように書き込みます。
YourTextboxName.Focus();
それが動作します。
textBox1.select();
またはテキストボックス設定でTabIndexを使用できます。TabIndex=0
最初にfocoused。
TabstopをTrueに、TabIndexをフォーカスが必要なコントロールの最小値に設定します。
たとえば、TextBoxが2つある場合:TextBox1とTextBox2の場合、Tabstopを両方にTrueに、TabIndexをそれぞれ0と1に設定します。フォームが読み込まれると、フォーカスはTextBox1になり、 'Tab'キーを押すとフォーカスがTextBox2に移動します。
私はtabindexを0に設定して機能していますthis.yourtextbox.TabIndex = 0;
最後に、私はMetroフレームワークを使用していた問題を発見し、すべてのソリューションがmetroTextBoxで機能せず、すべてのソリューションがload、show、visibility_change、eventsの通常のtextBoxで機能し、タブインデックス= 0でも有効です。
// private void Form1_VisibleChanged(object sender, EventArgs e)
// private void Form1__Shown(object sender, EventArgs e)
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Select();
this.ActiveControl=textBox1;
textBox1.Focus();
}
jqueryでフォーカスを設定
$(function() {
$("#txtBox1").focus();
});
またはJavascriptで行うことができます
window.onload = function() {
document.getElementById("txtBox1").focus();
};
c#
ていwinforms
ます。
ComboBox
。しかし、それも機能しません!