27【C#】WinForm中如何获取一个控件相对于主界面的位置

简介: 使用button控件的 PointToScreen 方法和Form控件的 PointToClient 方法来获取button1相对于Form边界的位置。具体步骤如下:

@TOC


前言

使用button控件的 PointToScreen 方法和Form控件的 PointToClient 方法来获取button1相对于Form边界的位置。具体步骤如下:

  • 获取button1在屏幕上的位置:
Point button1ScreenPos = button1.PointToScreen(Point.Empty);
  • 将button1在屏幕上的位置转换为相对于Form客户区的位置:
Point button1ClientPos = this.PointToClient(button1ScreenPos);

这样, button1ClientPos 就是button1相对于Form客户区的位置了。请注意,这里的 this 是指当前的Form控件。如果您的代码不在Form控件的类中,需要将 this 替换为Form控件的实例。


一、新建WinForm程序

在这里插入图片描述

二、效果与代码

在这里插入图片描述

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication4
{
   
   
    public partial class Form1 : Form
    {
   
   
        public Form1()
        {
   
   
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
   
   
            Point button1ScreenPos = button1.PointToScreen(Point.Empty);

            Point button1ClientPos = this.PointToClient(button1ScreenPos);

            MessageBox.Show("button相对于Form1的位置\n  X:" + button1ClientPos.X.ToString() + "Y:" + button1ClientPos.Y.ToString());
        }
    }
}

总结

目录
相关文章
|
1月前
|
C#
C# WinForm发送Email邮件
C# WinForm发送Email邮件
C# WinForm发送Email邮件
|
2月前
|
C# 数据库 开发者
44.c#:combobox控件
44.c#:combobox控件
20 1
|
2月前
|
C# 数据库
40.c#:TreeView 控件
40.c#:TreeView 控件
19 1
|
6天前
|
SQL 存储 C#
C# Web控件与数据感应之 TreeView 类
C# Web控件与数据感应之 TreeView 类
|
6天前
|
SQL 存储 Oracle
C# Web控件与数据感应之 CheckBoxList 类
C# Web控件与数据感应之 CheckBoxList 类
|
6天前
|
SQL 存储 Oracle
C# Web控件与数据感应之 Control 类
C# Web控件与数据感应之 Control 类
|
6天前
|
SQL 存储 Oracle
C# Web控件与数据感应之 ListControl 类
C# Web控件与数据感应之 ListControl 类
|
22天前
|
JavaScript 前端开发 C#
C# webbrowser控件设置代理IP访问网站
C# webbrowser控件设置代理IP访问网站
|
1月前
|
JavaScript C#
C#winForm程序与html JS交互调用
C#winForm程序与html JS交互调用
|
2月前
|
C# Windows
49.c#:StatusStrip 控件
49.c#:StatusStrip 控件
30 1
49.c#:StatusStrip 控件