C# 根据C中的文件名更新不同的文本框#
C# 根据C中的文件名更新不同的文本框#,c#,textbox,assign,C#,Textbox,Assign,我对c#编程很陌生,现在我遇到了一个很好的小问题,如果能得到一些帮助,我将非常感激。 我知道我下面的例子行不通,但它只是让你了解我想做什么。 问题是,我希望根据文件名使用文件内容更新不同的文本框。。。那么,如何将textBox.text或textBox分配给某个对象呢 public void OnChanged(object source, FileSystemEventArgs e) { string newPath = Path.Combine(activeDir, "Files");
我对c#编程很陌生,现在我遇到了一个很好的小问题,如果能得到一些帮助,我将非常感激。
我知道我下面的例子行不通,但它只是让你了解我想做什么。
问题是,我希望根据文件名使用文件内容更新不同的文本框。。。那么,如何将textBox.text或textBox分配给某个对象呢
public void OnChanged(object source, FileSystemEventArgs e)
{
string newPath = Path.Combine(activeDir, "Files");
string fileName = e.Name;
if (fileName.StartsWith("O1"))
TextBox txtBox = textBoxNC1;
if (fileName.StartsWith("O2"))
TextBox txtBox = textBoxNC2;
if (fileName.StartsWith("O3"))
TextBox txtBox = textBoxNC3;
if (fileName.StartsWith("O7"))
TextBox txtBox = textBoxNC4;
if (fileName.StartsWith("O0"))
TextBox txtBox = textBoxNC5;
StreamReader rdr = new StreamReader(file);
txtBox = rdr.ReadToEnd();
rdr.Close();
}
真诚地Hjalmarsson你说得对 您只需确保在if测试之外声明
TextBox
,并指定Text
属性:
TextBox txtBox;
if (fileName.StartsWith("O1")
{
txtBox = textBoxNC1;
}
....
if (txtBox != null)
{
txtBox.Text = rdr.ReadToEnd();
}
你说得对 您只需确保在if测试之外声明
TextBox
,并指定Text
属性:
TextBox txtBox;
if (fileName.StartsWith("O1")
{
txtBox = textBoxNC1;
}
....
if (txtBox != null)
{
txtBox.Text = rdr.ReadToEnd();
}
使用通用字典消除ifs的一点不同方法:
Dictionary<string, TextBox> lookup = new Dictionary<string, TextBox>();
lookup["O1"] = textBoxNC1;
lookup["O2"] = textBoxNC2;
lookup["O3"] = textBoxNC3;
lookup["O7"] = textBoxNC4;
lookup["O0"] = textBoxNC5;
var prefix = fileName.SubString(0, 2);
if (lookup.ContainsKey(prefix))
{
using (var reader = new StreamReader(file))
{
lookup[prefix].Text = reader.ReadToEnd();
}
}
字典查找=新建字典();
查找[“O1”]=textBoxNC1;
查找[“O2”]=textBoxNC2;
查找[“O3”]=textBoxNC3;
查找[“O7”]=textBoxNC4;
查找[“O0”]=textBoxNC5;
var prefix=fileName.SubString(0,2);
if(lookup.ContainsKey(前缀))
{
使用(var reader=newstreamreader(文件))
{
查找[前缀].Text=reader.ReadToEnd();
}
}
使用通用字典消除ifs的一点不同方法:
Dictionary<string, TextBox> lookup = new Dictionary<string, TextBox>();
lookup["O1"] = textBoxNC1;
lookup["O2"] = textBoxNC2;
lookup["O3"] = textBoxNC3;
lookup["O7"] = textBoxNC4;
lookup["O0"] = textBoxNC5;
var prefix = fileName.SubString(0, 2);
if (lookup.ContainsKey(prefix))
{
using (var reader = new StreamReader(file))
{
lookup[prefix].Text = reader.ReadToEnd();
}
}
字典查找=新建字典();
查找[“O1”]=textBoxNC1;
查找[“O2”]=textBoxNC2;
查找[“O3”]=textBoxNC3;
查找[“O7”]=textBoxNC4;
查找[“O0”]=textBoxNC5;
var prefix=fileName.SubString(0,2);
if(lookup.ContainsKey(前缀))
{
使用(var reader=newstreamreader(文件))
{
查找[前缀].Text=reader.ReadToEnd();
}
}
这回答了我的问题,我一看就明白了!非常感谢。这回答了我的问题,当我看它的时候,它是清楚的!非常感谢。