如何获取当前窗口的句柄,以及父窗口的句柄

如何获取当前窗口的句柄,以及父窗口的句柄,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

解析旅斗陆:

通过呼叫GetParent,子窗口消息处理程序能确定其父窗口的窗口句柄:hwndParent = GetParent (hwnd)

当前窗口的拆顷句柄可以销卖通过当前窗体的回调函数中的参数来取得~

以下示例程序实现:

(1)Form2从Form1获取一个字符串;

(2)Form2修改这个字符串后,再将修改后的字符串返回给顷旦Form1显示;

实现方法:

(1)在Visual Studio中创建一个“Windows 窗体应用程序”项目

(2)向项目中添加Form2

(3)在Form1上布置一个Label和一个Button

(4)在Form2上布置一个TextBox和一个Button

(5)窗体代码Form1.cs

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

using System

using System.Windows.Forms

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent()

label1.Text = "你好,世界!"

button1.Text = "显示Form2"

}

// 添加一个公共属性 StringValue

public string StringValue

{

get { return label1.Text}

set { label1.Text = value}

}

private void button1_Click(object sender, EventArgs e)

{

// 实例化Form2

// 实例化使用Form2重载的构造函数,详见Form2.cs

Form2 f2 = new Form2(this)

f2.Show()

}

}

}

(5)窗体代码Form2.cs

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

using System

using System.Windows.Forms

namespace WindowsFormsApplication1

{

public partial class Form2 : Form

{

// 对Form1实例的引用

Form1 f1

public Form2()

{

InitializeComponent()

}

// 重载构造函数

// 构造函数参数 f1:对Form1实例引用

public Form2(Form1 f1)

: this()

{

// 建立对Form1实例的引用

this.f1 = f1

// 通过f1.StringValue属性获取Form1上label1显示的内容

textBox1.Text = f1.StringValue

button1.Text = "关闭"蠢世

}

private void button1_Click(object sender, EventArgs e)

{

// 关闭前,利用f1.StringValue属性,将textBox1的内容

// 显示在雀档扰Form1上的label1中

f1.StringValue = textBox1.Text

this.Close()

}

}

}

(6)运行

点击Form1上“显示Form2”按钮后

在Form2中,修改textBox1内容

点击Form2上“关闭”按钮后


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12505986.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存