分两个部分说明一下一、重画
C#中一般不会用到重画事件,因为C#中的各种控件在设置其属性时都会自动重画,如TextBox、DataGrid等。用GDI函数在窗体上显示文字和图形时才要用重画事件。二、数据库更新
如果用的是DataGrid等控件的话重新填充数据集和邦定数据源即可更新DataGrid数据。其它控只要设置相应的属性就会自动重画。三、自己的类中调用窗体类的函数
public Form1()
{
aaaa a = new aaaa(this);
}
public class aaaa
{
Form1 f1;
public aaaa( Form1 f )
{
f1 = f;
}
private void bbbb()
{
int h = f1.Height; //改变Form1高度
f1.Invalidate(); //激发Form1的重画事件
}
C#中一般不会用到重画事件,因为C#中的各种控件在设置其属性时都会自动重画,如TextBox、DataGrid等。用GDI函数在窗体上显示文字和图形时才要用重画事件。二、数据库更新
如果用的是DataGrid等控件的话重新填充数据集和邦定数据源即可更新DataGrid数据。其它控只要设置相应的属性就会自动重画。三、自己的类中调用窗体类的函数
public Form1()
{
aaaa a = new aaaa(this);
}
public class aaaa
{
Form1 f1;
public aaaa( Form1 f )
{
f1 = f;
}
private void bbbb()
{
int h = f1.Height; //改变Form1高度
f1.Invalidate(); //激发Form1的重画事件
}
比如Form里含有一个text控件,它也需要改变,谢谢
{
Form1 f1;
public aaaa( Form1 f )
{
f1 = f;
}
private void bbbb()
{
f1.textBox1.Text = "1234567"; //改变textBox1的内容
int h = f1.Height; //改变Form1高度
f1.Invalidate(); //激发Form1的重画事件
}}
因为出发Form变化是在另一个线程里作的,所以不能直接调用Form的方法
最后用代理解决了
谢谢大家,因为接触C#时间比较短,所以问题很弱啦!