在form.cs 里调用 code.cs里方法不行吗?如果非要这样,把textbox1设为公共的就可以了,默认是私有的。
form.cs 是调用 code.cs里的方法,但code.cs方法需要返回当前的执行状态 ,显示到textbox上,比如 开始读取 读取完毕 等等。。
@Frank Jie: 如果只有 开始读取 读取完毕 ,在分别调用code.cs之前和之后给textBox赋值就行了。估计你还需要在读的过程中实时显示状态。这样的话可以另起个子线程负责读数据,主线程负责显示状态。你是winform吗?用backgroundWork这个组件就可以了。
这样可以:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace TestForm
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void buttonGo_Click(object sender, EventArgs e)
{
this.textBox1.Text = new DataReader().ReadData(this.textBox1);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace TestForm
{
class DataReader
{
public String ReadData(TextBox box)
{
for (int i = 0; i < 5; i++)
{
Thread.Sleep(1000);
box.Text = "状态" + i.ToString();
box.Refresh();
}
return "data";
}
}
}
用事件