请问外部类如何访问和修改WindowsForms的控件属性? 请问外部类如何访问和修改WindowsForms的控件属性?先有Form1.cs和other.cs,other.cs中有类other,other中的方法不能访问或者修改Form1里的控件比如button1的属性。请问如何解决?谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 设成public,或者Form1创建other时候将button1传给other。 呵,把控件的声明protected改成public就行了不过如果你是在非界面线程的话,就需要做点其它的操作...... 在同一程序中,也就是同一个进程,http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx#sec5 在不同的进程中,利用我们的新工具将 Spy++ 的功能传送给 Windows 窗体http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/issuesManagedSpy.mspx internal,或着public应该就可以吧 // other.csclass Other : System.ComponentModel.INotifyPropertyChanged{ private string str; public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; public string Str { get { return str; } set { str = value; OnPropertyChanged("Str"); } } private void OnPropertyChanged(string propertyName) { if (PropertyChanged != null) PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); } public void ChangeForm1TextBox() { Random rnd = new Random(); string str = "随机数:" + rnd.Next(100); this.Str = str; }}// Form1.cspublic partial class Form1 : Form{ Other other = new Other(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { other.ChangeForm1TextBox(); } private void Form1_Load(object sender, EventArgs e) { textBox1.DataBindings.Add("Text", other, "Str"); }} winform怎样去除窗口不能大于当前分辨率的限制? 当任意某个地方的一个文件被选中后winform窗体能获得该文件信息 仿 windows 记事本 查找功能 C#调用VB6.0的dll 如何动态产生Button,停靠在主窗体的panel. 委托和事件的联系问题~请高手求助 求助 TreeView 滚动问题 MDI 子窗体关闭不了 !!!!!!C#WEB问题,求大家救救我.今天加班不知道能不能搞顶啊!!!!!! 一个VB.NET转成C#语句的问题! DataGridView控件在操作完数据库的数据之后,是不是每次都要重新绑定一次才能体现更新? 搞的头大了:类型转换
http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx#sec5
利用我们的新工具将 Spy++ 的功能传送给 Windows 窗体
http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/issuesManagedSpy.mspx
class Other : System.ComponentModel.INotifyPropertyChanged
{
private string str;
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; public string Str
{
get { return str; }
set {
str = value;
OnPropertyChanged("Str");
}
}
private void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
} public void ChangeForm1TextBox()
{
Random rnd = new Random();
string str = "随机数:" + rnd.Next(100);
this.Str = str;
}
}// Form1.cs
public partial class Form1 : Form
{
Other other = new Other();
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
other.ChangeForm1TextBox();
} private void Form1_Load(object sender, EventArgs e)
{
textBox1.DataBindings.Add("Text", other, "Str");
}
}