我如何在Textbox_Click事件中执行OpenFileDialog
本文关键字:事件 执行 OpenFileDialog Click Textbox | 更新日期: 2023-09-27 18:15:28
我想做一个应用程序,当你点击TextBox
选择文件的OpenFileDialog
自动打开,而不需要点击一个按钮。
我所能找到的是这篇msdn文章,没有解释如何实现它。
我应该添加
[BrowsableAttribute(true)]
public event EventHandler Click
?
下面是我的代码:private void txtFile_TextChanged(object sender, EventArgs e)
{
OpenFileDialog OF = new OpenFileDialog();
OF.InitialDirectory = "C:''";
OF.Filter = "All files (*) | *.*";
if (OF.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
OF.FilterIndex = 0;
OF.RestoreDirectory = true;
txtFile.Text = (OF.FileName);
}
}
EDIT: Finally worked.
尝试使用OnEnter
事件:
在输入控件时发生。
和一个示例代码:
txtFile.Enter += (sender, args) =>
{
if(String.IsNullOrEmpty(txtFile.Text))
{
var OF = new OpenFileDialog
{
InitialDirectory = "C:''",
Filter = "All files (*) | *.*"
};
if (OF.ShowDialog() == DialogResult.OK)
{
OF.FilterIndex = 0;
OF.RestoreDirectory = true;
txtFile.Text = (OF.FileName);
}
}
};
将TextBox
MouseClick
事件设置为您想要的方法:
private void textBox1_MouseClick(object sender, MouseEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();
}
你可以使用鼠标点击事件
private void textBox1_MouseClick(object sender, MouseEventArgs e)
{
OpenFileDialog OF = new OpenFileDialog();
OF.InitialDirectory = "C:''";
OF.Filter = "All files (*) | *.*";
if (OF.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
OF.FilterIndex = 0;
OF.RestoreDirectory = true;
txtFile.Text = (OF.FileName);
}
}
在文本框中使用Focus事件显示文件对话框。
一旦控件接收到焦点(点击或选项卡),焦点事件将触发:
txtFile.Focus += (sender, args) =>
{
var OF = new OpenFileDialog
{
InitialDirectory = "C:''",
Filter = "All files (*) | *.*"
};
if (OF.ShowDialog() == DialogResult.OK)
{
OF.FilterIndex = 0;
OF.RestoreDirectory = true;
txtFile.Text = (OF.FileName);
}
};
直接进入文本框的属性,然后点击事件按钮。您将发现click event = blank。单击下拉菜单。选择openToolStripMenuItem_Click,例如,如果您已经在他的程序中打开了"打开文件对话框"。
注意:不需要额外的代码