我目前在C#中有两个不同的事件处理程序,它们执行两种不同的功能。虽然我怎么能将两种方法结合在一起,所以只有一个按钮可以执行这两种操作? (考虑到button1_Click事件必须首先执行。)在C#中将两种方法分组在一起#
private void button2_Click(object sender, EventArgs e)
{
var file = File.AppendText(@"c:\output2.txt");
foreach (string tmpLine in File.ReadAllLines(@"c:\output.txt"))
{
if (File.Exists(tmpLine))
{
file.WriteLine(tmpLine);
}
}
file.Close();
}
private void button1_Click(object sender, EventArgs e)
{
using (StreamWriter sw = File.AppendText(@"c:\output.txt"))
{
StreamReader sr = new StreamReader(@"c:\filename.txt");
string myString = "";
while (!sr.EndOfStream)
{
myString = sr.ReadLine();
int index = myString.LastIndexOf(":");
if (index > 0)
myString = myString.Substring(0, index);
sw.WriteLine(myString);
}
button2_Click(sender, e);
}
}
能否请您expain一点更详细的?显而易见的答案是将代码放在一个方法中。但我想这不是你想要的!? – Achim 2011-06-08 20:05:40
@Achim这正是我想要做的,我不得不调用方法一(按钮单击1),然后调用方法2输入并处理它,输出output2.txt,如果你明白我的意思吗? – James 2011-06-08 20:19:00
StreamReader是IDisposable,并且也应该放在使用块中。 File.AppendText也返回一个StreamWriter,它应该放在一个使用块中。 (是的,你正在关闭它,但是如果写入引发异常呢?) – TrueWill 2011-06-08 20:20:28