//in Form1.cs
Form2 frm=new Form2();
frm.parent=this;
frm.Show();//in Form2.cs;
IntPtr hwnd=this.ActiveForm.Parent.Handle;
可以吗?
Form2 frm=new Form2();
frm.parent=this;
frm.Show();//in Form2.cs;
IntPtr hwnd=this.ActiveForm.Parent.Handle;
可以吗?
解决方案 »
- 哪位有webbehavior.htc文件发下我邮箱,[email protected]
- c#文件备份如何做??
- C# 正则 过滤字符串前后数字
- 用户输入拼音字母,按"确定"就可以查询出相应的含有该拼音字母的所有记录.
- 请教CodeDom的问题
- base关键字疑问
- 如何访问局域网内的SQL数据库呀!时间不多了,谢谢!
- 如何对datagrid中的选中行进行高亮显示
- 如何不使用C#的API將bmp轉成jpg??
- 用TreeView 和 ListView 怎样做出这个效果?
- string的菜鸟问题:如何取子字符串?
- 毕设卡壳了,救命啊:已有了Schema和WSDL,怎样在.net下开发Web Services
不可以实现
frm.parent=this;
出现错误。
其实我想做的是,我想在Form2中控制Form1
上某些控件的属性,
但是我还不能实例化Form1,如果实例化的话其他控件的属性就恢复默认的了。
所以我想找到Form1的句柄,对他进行操作。
try
传递引用...
参考:
Form1:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;namespace WindowsApplication5
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null; public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} #region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(128, 120);
this.button1.Name = "button1";
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(96, 40);
this.textBox1.Name = "textBox1";
this.textBox1.TabIndex = 1;
this.textBox1.Text = "";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(320, 261);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false); }
#endregion /// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
} private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2 = new Form2(textBox1.Text);
f2.ShowDialog();
}
}
} Form2:using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;namespace WindowsApplication5
{
/// <summary>
/// Form2 的摘要说明。
/// </summary>
public class Form2 : System.Windows.Forms.Form
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
string str = ""; public Form2(string st)
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
str = st;
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} #region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
//
// Form2
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Name = "Form2";
this.Text = "Form2";
this.Load += new System.EventHandler(this.Form2_Load); }
#endregion private void Form2_Load(object sender, System.EventArgs e)
{
this.Text = str;
}
}
}
我要实现的是相反的过程。
问题虽然没有解决
但是也需要揭帖
我的msn [email protected]
如果方便的话请上msn赐教