c#winform 怎么获取当前窗口

如题所述

以下示例程序实现:
(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上“关闭”按钮后
温馨提示:内容为网友见解,仅供参考
无其他回答

在C# WinForm应用程序中如何获取当前窗体中被激发的控件名称?
每个事件都有有个Sender 参数,通过它即可判断,前提是你要能区分出那个类型的控件,比如:都是Button按钮,你可以这样做 Button source=(Button as sender);if(source!==null){ \/\/此时说明你点击的是按钮,具体那个按钮,要根据你设计时的需求来,比如你的按钮中的Tag标识类是那个按钮,那你就可以根据Tag...

C#WinFrom中如何得到Windows窗体的位置
其实不是你想的那么复杂。Windows窗体中有个属性他是设置他在窗体第一次出现的位置的。StartPosition的属性就是,你把它设置成centerScreen就可以了。这是将窗体设置成第一次打开时窗体在屏幕的中间位置。

C# Winform 如何获取窗体打开状态?
用单例模式 private static FrmCallOut instance;public static FrmCallOut GetInstance(){ if (instance == null){ instance = new FrmCallOut();} return instance;}

C#的winform程序,主窗体的调用问题
可以这样做,没什么问题,也没必要定义静态类,只需要象你上面声明静态变量就可以了。当然,也可以比如在program.cs里(当然你其它类也行),加入 public static FrmMain frmMain =null;然后在frmMain窗体的初始化或者load中加program.frmMain=this;基本一样的 ...

winform运行中怎么用C# 代码调整窗口位置,特别是怎么居中到屏幕中央...
获取当前屏幕分辨率->获取当前窗口大小->计算如果居中的话当前窗口的位置->给当前窗口位置赋值 方法挺笨的,不过可以实现,代码如下,测试通过。int height = System.Windows.Forms.SystemInformation.WorkingArea.Height;int width = System.Windows.Forms.SystemInformation.WorkingArea.Width;int formheight = ...

c#的 winform怎么使弹出的窗口在屏幕的正中间,就是当我点击链接弹出的窗...
C#的winform窗口居中只需要设置startposition属性即可,接下来用visual studio 2015创建一个winform程序具体演示一下:1,打开visual studio,窗口windows窗体应用程序,如下图所示 2,右键单击窗体,选择属性,如下图所示 3,找到StartPosition属性,设置为CenterScreen,如下图所示 4,运行程序以后,winform窗口就...

C#中的winform窗体怎么获得系统当前时间?
在工具箱里有一个dateTimePick的控件是用来获取系统当前时间滴,将这个控件放到窗体中,可以看到电脑上的时间和那个winfrom窗体中datetimepick控件中显示的时间是一样的。要它显示在textbox的文本框中:再在窗体中加一个textbox,一个button。双击button1 写代码 DateTime dt=dateTimePick1.Value;textBox1....

c# .net winform 怎么实现在打开一个新窗体时,隐藏就窗体;关闭新窗体时...
在Form1中,点击button1,显示Form2 private void button1_Click(object sender, EventArgs e){\/\/隐藏当前窗口this.Visible = false;Form2 f2 = new Form2();\/\/显示Form2f2.ShowDialog(); \/\/显示当前窗口 this.Visible = true;}

c#winform 对当前窗口截图,但是这个窗口有滚动条,怎么截取全部内容...
通过截取窗口当然不行,你可以先设定一个模块,然后读取出listbox的值,输出,然后打开模块。

c# winform中怎么对 界面进行截图??并且有滚动条的界面
public void GetImage(){ Image i = new Bitmap(this.Width, this.Height);Graphics g = Graphics.FromImage(i);g.CopyFromScreen(new Point(this.Location.X,this.Location.Y), new Point(0, 0), new Size(this.Width,this.Height));i.Save("test.jpg");g.Dispose();} 记得给分 ...

相似回答