我在C#中进行OO编程并遇到了问题。
我在这里得到了这段代码(这是按钮btn_delete_click
)
if (dialogResult == DialogResult.Yes)
{
if (objBestand.bestandsnaamString == file2)
{
objBestand.VerwijderBestand();
// btn_ophalen_click?
}
}
现在我想调用"功能" " btn_ophalen_click?
"
这是我想在那里打电话的按钮
private void btn_Ophalen_Click(object sender, EventArgs e)
{
string PathString; // maak string aan
PathString = textBox1.Text + @":\" + textBox2.Text; //vul_list string mwet waarde
objBestanden = new clsBestanden();
objBestanden.Zoekbestanden(PathString); // Roep method Zoekbestanden aan
vul_list(); // vul lijst of form
}
当我点击btn_delete_click
时,它会删除一个文件,然后必须触发"触发" btn_ophalen_click
我希望我提供足够的信息。
答案 0 :(得分:5)
将事件称为方法是不好的做法。想要的最佳方法是将事件代码移动到单独的方法:
//part of btn_delete_click event code
if (dialogResult == DialogResult.Yes)
{
if (objBestand.bestandsnaamString == file2)
{
objBestand.VerwijderBestand();
Ophalen();
}
}
private void btn_Ophalen_Click(object sender, EventArgs e)
{
Ophalen();
}
private void Ophalen()
{
string PathString; // maak string aan
PathString = textBox1.Text + @":\" + textBox2.Text; //vul_list string mwet waarde
objBestanden = new clsBestanden();
objBestanden.Zoekbestanden(PathString); // Roep method Zoekbestanden aan
vul_list(); // vul lijst of form
}
答案 1 :(得分:2)
您应该始终在单独的方法中将操作保留在事件中。
private void btn_delete_Click(object sender, EventArgs e)
{
Delete();
}
private void btn_Ophalen_Click(object sender, EventArgs e)
{
Open();
}
private void Delete()
{
if (dialogResult == DialogResult.Yes)
{
if (objBestand.bestandsnaamString == file2)
{
objBestand.VerwijderBestand();
Open();
}
}
}
private void Open()
{
string PathString; // maak string aan
PathString = textBox1.Text + @":\" + textBox2.Text; //vul_list string mwet waarde
objBestanden = new clsBestanden();
objBestanden.Zoekbestanden(PathString); // Roep method Zoekbestanden aan
vul_list(); // vul lijst of form
}
答案 2 :(得分:1)
我认为button.PerformClick();
执行点击就是need。
但是更好的提取方法Ophalen()
包含所需的参数,并在两个按钮单击处理程序中调用它
答案 3 :(得分:0)
你可以做这样的事情。
public void toDo()
{
string PathString; // maak string aan
PathString = textBox1.Text + @":\" + textBox2.Text; //vul_list string mwet waarde
objBestanden = new clsBestanden();
objBestanden.Zoekbestanden(PathString); // Roep method Zoekbestanden aan
vul_list(); // vul lijst of form
}
if (dialogResult == DialogResult.Yes)
{
if (objBestand.bestandsnaamString == file2)
{
objBestand.VerwijderBestand();
toDo()
}
}