我在MainFrm这个窗体上添加了一个listview控件listview1,然后在MainFrm.Designer.cs这个文件里把listview1的权限改为public。
现在我在另外一个源文件BLL.cs里面的一个函数里对这个listview调用。
string[] Msg = { counter(i).ToString(), msg, DateTime.Now.ToString( "yyyy-MM-dd HH:mm:ss") };
ListViewItem lvi = new ListViewItem(Msg);
MainForm mf = new MainForm();
mf.listView1.Items.Add(lvi);
函数主题大致如此。
现在我在其他文件里再调用这个函数,程序可以顺利编译通过,但是listview单元格获取不到函数输出值。
请问这是什么问题?怎么解决?
谢谢。
现在我在另外一个源文件BLL.cs里面的一个函数里对这个listview调用。
string[] Msg = { counter(i).ToString(), msg, DateTime.Now.ToString( "yyyy-MM-dd HH:mm:ss") };
ListViewItem lvi = new ListViewItem(Msg);
MainForm mf = new MainForm();
mf.listView1.Items.Add(lvi);
函数主题大致如此。
现在我在其他文件里再调用这个函数,程序可以顺利编译通过,但是listview单元格获取不到函数输出值。
请问这是什么问题?怎么解决?
谢谢。
解决方案 »
- 关于系统登录时,警告信息显示
- 请问如何重复使用某个类的定义?
- wince下字符闪烁问题(C#),急!50分
- 像LabView那样,图控系统…希望有高手指点!
- C#线程问题
- GDI+必看书:Addison.Wesley.Graphics Programming.with.GDI+.2003.chm
- ===安装和卸载服务出错?????
- WinForm 里DataGRID 添加 Button按钮例的问题
- winform中dataGrid如何改变某一列的颜色?(在线等,立即接贴)
- 安装时提示插入CHS CD1 应该是哪张盘?
- 请教一个后台得到前端上传控件的问题
- 以Exe模块中的主Form的子窗口的形式,显示dll中的Form,注意dll是动态加载的
----------------------------------
你操作的是mf这个对象,并不是已显示的那个MainForm窗体。你要解决的是,怎么获取MainForm窗体,然后操作MainForm的listview1。
方法挺多
1.用事件通知
2.把MainForm窗体当参数传给这个函数所在对象
3.用Application.OpenForms来获取MainForm窗体
……
但是我还是不明白,为什么说我以前的做法是操作的是mf这个对象,并不是已显示的那个MainForm窗体呢?
这样就是new一个新的MainForm,它和你之前打开的MainForm并不是同一个呀,每new一个都是一个新的对象。
所以,你要操作之前打开的MainForm,就需要获取它的引用。
谢谢cja03兄弟。。
我是小菜鸟。在低端思维圈圈里徘徊不前呢。
结贴。