当前位置:编程学习 > C#/ASP.NET >>

c# 在自定义类中 修改窗体控件的值

新手啊,最近在做一个c#的小程序,在自己写的func.cs 中的func类中,有一个ShowInfo()的成员函数,

ShowInfo  中主要代码是

for(int i=0; 某条件;i++)
{
   …………
   得到一个返回值info
   …………
}

这个for会循环很多次,现在想让每一次for 循环就吧返回的结果输出到form1 的datagirdview 中去,怎么实现最好啊,求指点 --------------------编程问答-------------------- 使用委托
public void ShowInfo(Action<string> UpdateUI)
{
for(int i=0; 某条件;i++)
{
   …………
   得到一个返回值info
   UpdateUI(info); //假设info是string
   …………
}
}
调用
obj.ShowInfo(x => { /*放入更新界面的代码,x为传进来的info*/ }) --------------------编程问答-------------------- 可以直接通过form发布属性或方法去控制,还可以用自定义事件(推荐) --------------------编程问答-------------------- 用楼上的方法就解决了。 --------------------编程问答-------------------- 在Form1中放入DataGridView控件,窗体加载事件:
private void Form1_Load(object
sender, EventArgs e)
{
  
dataGridView1.Columns.Add("colCode",
"序号");//添加一列
  
Func fun = newFunc();
  
fun.ShowInfo(dataGridView1);
}

Func类中:
public class Func
{
    public void
ShowInfo(System.Windows.Forms.DataGridView
dgv)
    {
        for(int i=0;i<100;i++)
        {
           dgv.Rows.Add(new object[] { i });
   
    }
    }
}
这样行不行啊。 --------------------编程问答--------------------
引用 2 楼 bdmh 的回复:
可以直接通过form发布属性或方法去控制,还可以用自定义事件(推荐)


可以直接通过form发布属性或方法去控制


这个怎么做啊。 --------------------编程问答-------------------- 这种情况我一般会用事件,很方便! --------------------编程问答--------------------
引用 6 楼 xminsong 的回复:
这种情况我一般会用事件,很方便!


新手求指导啊 --------------------编程问答--------------------
引用 4 楼 binker123456 的回复:
在Form1中放入DataGridView控件,窗体加载事件:
private void Form1_Load(object
sender, EventArgs e)
{
  
dataGridView1.Columns.Add("colCode",
"序号");//添加一列
  
Func fun = newFunc();
  
fun.ShowIn……


你这个就可以啊。
单线程直接设置就可以了。多线程就得考虑用委托了。 --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
使用委托
public void ShowInfo(Action<string> UpdateUI)
{
for(int i=0; 某条件;i++)
{
   …………
   得到一个返回值info
   UpdateUI(info); //假设info是string
   …………
}
}
调用
obj.ShowInfo(x => { /*放入更……


最后那个obj.showInfo()
里面是什么啊,能说的详细一点么,新手啊,有点不是很清楚 --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
使用委托
public void ShowInfo(Action<string> UpdateUI)
{
for(int i=0; 某条件;i++)
{
   …………
   得到一个返回值info
   UpdateUI(info); //假设info是string
   …………
}
}
调用
obj.ShowInfo(x => { /*放入更……



有木有类似的实例代码啊 --------------------编程问答-------------------- “事件”,我是从“CLR via C#”这本书里学的,此书非常好!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,