首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

winform中 一个普通的类怎么给Textbox赋值

2013-07-20 
winform中 一个普通的类如何给Textbox赋值RT我在网上看到了很多窗体传值的方式,但是普通的类如何控制就不

winform中 一个普通的类如何给Textbox赋值
RT
我在网上看到了很多窗体传值的方式,但是普通的类如何控制就不知道了。

我在 form中new了一个对象,让后把form传进去,但是也不能修改Textbox上的值啊。

[解决办法]
没甚理解 楼主的意思 看下:
 class Class1
    {
        public static void changeTextValue(System.Windows.Forms.TextBox tb,string v) {
            tb.Text = v;
        }
    }
   private void button1_Click(object sender, EventArgs e)
        {

            Class1.changeTextValue(textBox1, "test");//textBox1为from中textbox 的id
}
[解决办法]
button1就是 from 中的按钮啊
textBox1为form 中的文本框

楼主可否举个例子,具体的功能
[解决办法]
一个普通类给txtBox赋值

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            A a = new A();
            txtBox1.Text = a.TextString;
        }
    }

    class A
    {
        public string TextString
        {
            get { return "Yes"; }
        }
    }

new了一个对象,让后把form传进去
 public partial class Form1 : Form
    {
        public Form1()


        {
            InitializeComponent();
            A a = new A();
            a.SetTxtBoxTest(this, "Yes");
        }        
    }

    class A
    {
        public void SetTxtBoxTest(Form1 form1,string Text)
        {
            form1.txtBox1.Text = Text;
        }
    }


[解决办法]
就是把窗体的实例传到A类的SetTxtBoxTest方法里面去,在方法内部对窗体的成员进行赋值,还有哪里不明白?
[解决办法]
通过Set方法,窗体Form1把自己交给A类去操作,A喜欢怎么搞就怎么搞
[解决办法]
引用:
Quote: 引用:

button1就是 from 中的按钮啊
textBox1为form 中的文本框

楼主可否举个例子,具体的功能



public class A{
public void xxx(){
//我希望能在这里修改到form控件中的Textbox
}
}


我给你写的例子 就是你要的啊
[解决办法]
可以啊,这样的话你就在A类的构造函数里面写了
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            A a = new A(this);
        }        
    }

    class A
    {
        public A(Form1 from1)
        {
            from1.txtBox.Text = "Yes!";
        }
    }

------解决方案--------------------


你把Textbox公开就行了,public
[解决办法]
form中默认控件都是private的 你把要textbox改成public
主要是在form中定义一个public的方法 然后通过方法来更改textbox的值
[解决办法]
把窗体中的TextBox公开就可以了,或者在窗体公开一个方法去修改这个TextBox的Text值,或者公开一个属性去获取或设置这个TextBox的值就行了。
比如:在你的窗口中有一个TextBox的控件,名称为tbTest,那么可以通过以下方法设置:
1、public TextBox TbTest{
get{return this.tbTest;}
}
2、public string TbTestStr{
get{return this.tbTest.Text;}
set{this.tbTest.Text = value;}
}
3、public void SetTestText(string text){
this.tbTest.Text = text;
}
[解决办法]

Class A{
private Form f;
public A (Form f){
this.f = f;

public void otherFunl(){
f.Textbox.text = "xxx";//这样就不行。访问不到到Textbox
f.setText();//直接调用我在form中写的方法也不行。
}

Form 改成 Form1   改成你写的窗体的那个类名称

热点排行