c# - C#中不同窗体之间的访问数据控件

标签 c# xml

XmlDataDocument xmlDatadoc = new XmlDataDocument();

xmlDatadoc.DataSet.ReadXml(dir + listBox1.SelectedItem);

DataSet ds = new DataSet("Customer info");

ds = xmlDatadoc.DataSet;

dataGridView1.DataSource = ds.DefaultViewManager;

dataGridView1.DataMember = "Customer";

现在,如果 ListBox 控件“listBox1”位于应用程序的不同表单“form1”中, 如何获取数据并在“Form2”的数据网格中使用它?

最佳答案

据我所知,应该有以下方法。

  1. 使用目标表单中的属性并在实例化其类时对其进行赋值
  2. 在目标表单构造函数中传递数据源。
  3. 您目前在 Form2 中,这是另一种方式,Form1.ListBox.YourpropertyName;
  4. delegates可以用,但是内存消耗大,用完后要处理掉。
  5. 创建一个带有静态成员的类并在转到目标表单之前对其进行初始化并在目标表单中访问该值

另外,控件的访问修饰符要适合其他形式的访问

请注意如果您之前的表格处于打开状态,则第 3 点有效。否则它会在列表框中显示空数据 并且在第5点中,静态变量内存一旦使用就应该设置为null。

关于c# - C#中不同窗体之间的访问数据控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6137134/

相关文章:

c# - HtmlHelper.AnonymousObjectToHtmlAttributes 在幕后如何工作? (方法调用自身)

java - AutoCompleteTextView 无法在服务中复制/粘贴

java - 当设备方向更改为水平时,LinearLayout 按钮不出现?

c# - Windows编程服务无法连接Mysql数据库

c# - 怎么了??运算符这样使用 :

c# - 解释 Regex 的初学者指南?

c# - 小数超出范围 C# 和 SQL Server

mysql - 将大量数据从 XML 文件转换为数据库

java - 将 xml 转换为 java bean

jquery - 使用 jQuery 写入服务器上的文件?