我有两个文本框和一个按钮。当我按下按钮时,我想知道我当前的插入符号(两个框中的任何一个)。我需要知道在哪里插入某个文本。我试过textbox1.Focused
; textbox1.enabled
但是没有奏效。我该如何实现呢?感谢
答案 0 :(得分:14)
请注意,当您点击该按钮时,您的文本框将不再具有焦点。 按钮的点击事件之前,你需要一种方法来跟踪的焦点。
尝试这样的事情
public partial class Form1 : Form
{
private TextBox focusedTextbox = null;
public Form1()
{
InitializeComponent();
foreach (TextBox tb in this.Controls.OfType<TextBox>())
{
tb.Enter += textBox_Enter;
}
}
void textBox_Enter(object sender, EventArgs e)
{
focusedTextbox = (TextBox)sender;
}
private void button1_Click(object sender, EventArgs e)
{
if (focusedTextbox != null)
{
// put something in textbox
focusedTextbox.Text = DateTime.Now.ToString();
}
}
}
答案 1 :(得分:1)
有一种非常简单的方法可以做到这一点。 您的要求很简单,因为您只有两个文本框。
您可以指定在调用textbox1_GotFocus()
时保留的类范围字符串变量以及textbox2_GotFocus()
。
因此,如果调用textbox GotFocus()
,则指定一个值。
然后在按钮中为类范围的字符串变量设置一个条件,如果类范围的变量具有那种类型的值,则该文本框将填充在文本框中的任何内容。
它对我有用,所以我相信它应该适用于你。