C#如何在一个Form里查找另一个Form所保存的txt中的内容并显示在ListBox中

Form1输入了学生信息(包含学生学号)并保存在txt里如何在Form2中输入学生学号并查找到该学生的信息并显示在Form2的ListBox中?... Form1输入了学生信息(包含学生学号)并保存在txt里
如何在Form2中输入学生学号并查找到该学生的信息并显示在Form2的ListBox中?
展开
 我来答
Aupryyyyyyyyyy
2013-04-16 · TA获得超过1636个赞
知道大有可为答主
回答量:1574
采纳率:53%
帮助的人:948万
展开全部
你可以通过在要公开数据的 Form 类里定义一些公开的属性给其他的 Form 使用
当然如果要获取到数据,首先需要获取到这个 Form 的实例。可以通过 Application.OpenForms 属性获取所有已经打开的窗体,你可以通过使用反射来检测类型名是颤激哪否等于 Form1 来判断:

Form formObj = Application.OpenForms.Where((Form i) => String.Compare(i.GetType().ToString(), "Form1") == 0)[0]; // 因为可能只有一个查询结果,所以直接茄码用索引 0

然后你就可以通过使用 formObj 的公开属性来获取这些信息了。

而对于 Form1 类来说,也可以实现铅厅 INotifyPropertyChanging 或者 INotifyPropertyChanged 接口来实现对这些属性被修改的类内部处理:

public partical class Form1 : INotifyPropertyChanged
{
// 各种属性
// INotifyPropertyChanged 所定义的事件
public PropertyChangedEventHandler PropertyChanged;
// 一个属性
public String Content
{
get { return this._content; }
set
{
if(!String.IsNullOrWhiteSpace(value))
{
this._content = value;
this.PropertyChanged(new ProeprtyChangedEventArgs("Content"));
}
}
}

public Form1()
{
PropertyChanged += new PropertyChangedEventHandler(Property_OnChanged);
}

public void Property_OnChanged(Object sender, PropertyChangedEventArgs e)
{
switch(e.Property)
{
case "Content":
this.特定控件.Text = this._content;
break;
}
}
}
丁文博0721
2013-04-15 · TA获得超过263个赞
知道答主
回答量:159
采纳率:0%
帮助的人:169万
展开全部
你好,你是把信息谨碧保存在txt文件中了祥仿举吗?如果这样可以直接读文件。
不过我认为你的意思应该是在Form2中获得Form1的输入内容吧两种方法:
一:这样你可以在Form1中再定义属性,把输入的内容赋大磨值给它,然后在Form2中传递Form1的引用,然后就能用Form1的数据了。
二:也可以在设计cs文件中把控件改为public类型。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
o0邪阳0o
2013-04-16
知道答主
回答量:19
采纳率:0%
帮助的人:16.4万
展开全部
你这里告雹说的保存在Txt不是很明确额,如果是保存在TXT文件中,同楼上的,直接读文件就可以了,如果是保存在Form1的Txt变量中,那么直接将这个变量传递过来就可以简颂了,你袜咐帆可以给Form2添加一个带参数的构造函数,比如public Form2(string txt){处理txt;查找,显示到listbox;}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式