C#Windows.Forms的容器坐标系
时间: 2024-06-04 22:06:42 浏览: 6
C# Windows.Forms 中的容器坐标系是相对于容器控件的左上角而言的。也就是说,容器控件的左上角坐标为 (0,0),容器的水平方向向右增长,垂直方向向下增长。因此,容器内控件的坐标相对于容器左上角的偏移量可以通过控件的 Left 和 Top 属性获取。而控件的大小可以通过 Width 和 Height 属性获取。例如,如果一个容器控件的左上角坐标为 (10,10),宽度为 200,高度为 100,那么其内部控件的坐标范围为 (0,0) 到 (190,90)。
相关问题
c# System.Windows.Forms.Application.OpenForms 获取应用的最上面的窗体
C#中可以使用`System.Windows.Forms.Application.OpenForms`属性获取当前应用程序中所有已打开的窗体,其中索引为0的元素就是应用程序中最上层的窗体,也就是当前活动窗体。
以下是示例代码:
```csharp
using System;
using System.Windows.Forms;
namespace WinFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (Application.OpenForms.Count > 0)
{
Form topForm = Application.OpenForms[0];
MessageBox.Show("最上层窗体的名称是:" + topForm.Name);
}
else
{
MessageBox.Show("当前应用程序中没有打开的窗体!");
}
}
}
}
```
在上面的代码中,我们使用了`Application.OpenForms`属性获取当前应用程序中所有已打开的窗体。然后,我们判断该属性返回的窗体数量是否大于0,如果大于0,则取出索引为0的元素,也就是最上层的窗体,并使用MessageBox.Show方法显示该窗体的名称。如果该属性返回的窗体数量为0,则显示一个提示信息。
c# System.Windows.Forms.Application.OpenForms 获取应用的获取焦点的窗体
C#中可以使用`System.Windows.Forms.Form.ActiveForm`属性获取当前应用程序中获取焦点的窗体,也就是当前活动窗体。
以下是示例代码:
```csharp
using System;
using System.Windows.Forms;
namespace WinFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form activeForm = Form.ActiveForm;
if (activeForm != null)
{
MessageBox.Show("获取焦点的窗体的名称是:" + activeForm.Name);
}
else
{
MessageBox.Show("当前应用程序中没有获取焦点的窗体!");
}
}
}
}
```
在上面的代码中,我们使用了`Form.ActiveForm`属性获取当前应用程序中获取焦点的窗体。然后,我们判断该属性返回的窗体是否为null,如果不为null,则使用MessageBox.Show方法显示该窗体的名称。如果该属性返回的窗体为null,则显示一个提示信息。