关于Winform的问题!搞不明白!

54783szg 2004-09-01 03:21:26
在Winform窗体上有一个textBox控件,然后我在同一命名空间下新建了一个普通的类,然后在普通类里有一个函数,功能是设置Winform窗体上textBox内容的,可能怎么着也设置不了,是什么回事呢?谢谢!

namespace RLink
{
public class mainForm : System.Windows.Forms.Form//主窗体类
{
......
public System.Windows.Forms.TextBox textBox1;

//按钮事件是新建一个普通类的对象,并调用Set(string s)函数进行设置
private void button1_Click(object sender, System.EventArgs e)
{
MClass mc=new MClass();
mc.Set("sdfsf");
}
......
}

}

namespace RLink
{
public class MClass//自定义的普通类
{
......
mainForm form=new mainForm();

//按钮事件是新建一个普通类的对象,并调用Set(string s)函数进行设置
public void Set(string s)
{
form.textBox1.Text=s;
}
......
}

}
...全文
123 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhushizu 2004-09-01
  • 打赏
  • 举报
回复
有一个伟大的人说过一句伟大的话,有志者事尽成,把这句话送给楼主......希望楼主有一天可以做一个伟人...随便顶
boyxia 2004-09-01
  • 打赏
  • 举报
回复
把你的TextBox控件对象传给你的Class
yingshis 2004-09-01
  • 打赏
  • 举报
回复
来晚了。
伪装绅士 2004-09-01
  • 打赏
  • 举报
回复
moonewxp(母牛) 说得没错 。
chNET 2004-09-01
  • 打赏
  • 举报
回复
方法一:
-------------------

主窗体:

private void button1_Click(object sender, System.EventArgs e)
{
Class1 class1 = new Class1(this.textBox1);
class1.Set("aaaaaaaa");
}


自定义的普通类 Class1:

using System;

namespace WindowsApplication8
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class Class1
{
System.Windows.Forms.TextBox f;

public Class1(System.Windows.Forms.TextBox F)
{
//
// TODO: 在此处添加构造函数逻辑
//
f = F;
}

public void Set(string s)
{
f.Text = s;
}
}
}

siugwan 2004-09-01
  • 打赏
  • 举报
回复
建议使用属性
namespace RLink
{
public class MClass//自定义的普通类
{
......
mainForm form=new mainForm();

private string _s;

public String MyText
{
get{return _s;}
set{_s = value;}
}

//按钮事件是新建一个普通类的对象,并调用Set(string s)函数进行设置
/*public void Set(string s)
{
form.textBox1.Text=s;
}*/
......

private void MClass_Load(object sender, System.EventArgs e)
{
this.textBox1.Text = MyText;
}
}

}



namespace RLink
{
public class mainForm : System.Windows.Forms.Form//主窗体类
{
......
public System.Windows.Forms.TextBox textBox1;

//按钮事件是新建一个普通类的对象,并调用Set(string s)函数进行设置
private void button1_Click(object sender, System.EventArgs e)
{
MClass mc=new MClass();
mc.MyText = "sdfsf";
}
......
}

}
lnzyquan 2004-09-01
  • 打赏
  • 举报
回复
public void Set(string s)
{
form.textBox1.Text=s;
}
这个函数应该增加 mainForm form 作为参数,,不要在public class MClass//自定义的普通类
中重新实例化mainForm ,,

这样你在按钮事件中就可以mc.Set(this,"sdfsf");

就ok了
moonewxp 2004-09-01
  • 打赏
  • 举报
回复
hehe,你这样当然不行了,你又new了一个form,你是给这个新form设置了,你应该在你的Mclass.Set方法再接受一个参数,把form对象传过去。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧