【原创】在窗体项目的类中获得当前窗体的对象

看到有人问就动手写了一下,具体代码如下:
窗体,两个textbox,两个label,一个button
namespace Practise
{
    
public partial class Form1 : Form
    
{
        
public Form1()
        
{
            InitializeComponent();
        }


        
public string getTextBox1()
        
{
            
return textBox1.Text;
        }


        
public string getTextBox2()
        
{
            
return textBox2.Text;
        }


        
private void button1_Click(object sender, EventArgs e)
        
{
           label2.Text 
= new Addition(this).ShowResults().ToString();
        }

    }

}

业务类代码,只对textbox1和textbox2的值做加法运算
namespace Practise
{
    
class Addition
    
{
        
private Form1 _form;
        
public Addition(Form1 form)
        
{
            _form 
= form;
        }


        
public int ShowResults()
        
{
            
int x = Convert.ToInt32(_form.getTextBox1());
            
int y = Convert.ToInt32(_form.getTextBox2());
            
return x + y;
        }


    }

}


根据以往开发swing的经验用到Winform上看来同样适用,其思路为通过业务类的构造子将窗体对象以参数形式传入业务类中,从而获得窗体对象的方法,其弊端是增加了额外的代码书写量,需要写一些获取控件的值的方法。希望大家能有更好的方法指教

点这里下载源代码】 

posted on 2007-05-13 05:58  宝露o(∩_∩)o  阅读(450)  评论(0编辑  收藏  举报

导航