在 C# 中移动 Form2 时移动 Form1

2024-02-28

我有两种形式。Form2正在被打开Form1, 像这样:

Form2.ShowDialog();

StartPosition of Form2配置为centerParent.

我需要固定位置Form2在 Form1 的中心,这样当我移动时Form2, Form1也改变了它的位置。我尝试了很多解决方案但没有成功。


调用 ShowDialog 函数时必须包含父引用,但还必须记录初始位置差异before使用 LocationChanged 事件。

Form2 f2 = new Form2();
f2.StartPosition = FormStartPosition.CenterParent;
f2.ShowDialog(this);

然后在对话框中,您可以像这样连接它:

Point parentOffset = Point.Empty;
bool wasShown = false;

public Form2() {
  InitializeComponent();
}

protected override void OnShown(EventArgs e) {
  parentOffset = new Point(this.Left - this.Owner.Left,
                           this.Top - this.Owner.Top);
  wasShown = true;
  base.OnShown(e);
}

protected override void OnLocationChanged(EventArgs e) {
  if (wasShown) {
    this.Owner.Location = new Point(this.Left - parentOffset.X, 
                                    this.Top - parentOffset.Y);
  }
  base.OnLocationChanged(e);
}

此代码不执行任何错误检查,仅是演示代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# 中移动 Form2 时移动 Form1 的相关文章

  • 为什么这个 Web api 控制器不并发?

    我有一个 Web API 控制器 里面有以下方法 public string Tester Thread Sleep 2000 return OK 当我调用它 10 次 使用 Fiddler 时 我预计所有 10 次调用都会在大约 2 秒后
  • Exit() 时是否调用基本对象析构函数?

    我意识到这个问题已经出现过几次 但我试图获得上述问题的明确答案 但我不断遇到相互矛盾的信息 我需要知道的是 当我使用 exit 时 基本类对象是否被破坏 我知道需要删除动态内存 但我的意思更像是 include
  • 在 HKCR 中创建新密钥有效,但不起作用

    我有以下代码 它返回 成功 但使用两种不同的工具使用搜索字符串 3BDAAC43 E734 11D5 93AF 00105A990292 搜索注册表不会产生任何结果 RegistryKey RK Registry ClassesRoot C
  • 使用 CMake 时如何导出 Emscripten 中的 C 函数

    In 本教程 https emscripten org docs porting connecting cpp and javascript Interacting with code html interacting with code
  • 在 CPP 类中将 C 函数声明为友元

    我需要在 C 函数中使用类的私有变量 我正在做这样的事情 class Helper private std string name public std getName return name friend extern C void in
  • java中如何重新初始化int数组

    class PassingRefByVal static void Change int pArray pArray 0 888 This change affects the original element pArray new int
  • 无法注册时间触发的后台任务

    对于 Windows 8 应用程序 在 C Xaml 中 我尝试注册后台任务 很难说 但我想我的后台任务已正确注册 但是当我单击调试位置工具栏上的后台任务名称时 我的应用程序停止工作 没有任何消息 我查看了事件查看器上的日志 得到 具有入口
  • 如何将 .txt 文件中的数据转换为 xml? C#

    我在一个文本文件中有数千行数据 我想通过将其转换为更容易搜索的内容来轻松搜索 我希望 XML 或其他类型的大型数据结构 尽管我不确定它是否是最好的对于我的想法 每行的数据如下所示 第 31 册 托马斯 乔治 32 34 154 每本书都不是
  • 如何使用 Regex.Replace 从字符串中删除数字?

    我需要使用Regex Replace从字符串中删除所有数字和符号 输入示例 123 abcd33输出示例 abcd 请尝试以下操作 var output Regex Replace input d string Empty The d标识符
  • 不同 C++ 文件中的相同类名

    如果两个 C 文件具有相同名称的类的不同定义 那么当它们被编译和链接时 即使没有警告也会抛出一些东西 例如 a cc class Student public std string foo return A void foo a Stude
  • 什么是空终止字符串?

    它与什么不同标准 字符串 http www cplusplus com reference string string 字符串 实际上只是一个数组chars 空终止字符串是指其中包含空字符的字符串 0 标记字符串的结尾 不一定是数组的结尾
  • 如何将AVFrame转换为glTexImage2D使用的纹理?

    如您所知 AVFrame 有 2 个属性 pFrame gt data pFrame gt linesize 当我从视频 sdcard test mp4 android平台 读取帧后 并将其转换为RGB AVFrame副 img conve
  • 如何递归取消引用指针(C++03)?

    我正在尝试在 C 中递归地取消引用指针 如果传递一个对象 那就是not一个指针 这包括智能指针 我只想返回对象本身 如果可能的话通过引用返回 我有这个代码 template
  • 将函数参数类型提取为参数包

    这是一个后续问题 解包 元组以调用匹配的函数指针 https stackoverflow com questions 7858817 unpacking a tuple to call a matching function pointer
  • Oauth2中如何同时撤销RefreshToken和使AccessToken失效

    我正在使用 Owin Oauth2 授权和资源服务器相同 开发单页面应用程序 AngularJS Net MVC Json Rest API 的身份验证流程 我选择了 Bearer Token 路由而不是传统的 cookie session
  • 比较:接口方法、虚方法、抽象方法

    它们各自的优点和缺点是什么 接口方法 虚拟方法 抽象方法 什么时候应该选择什么 做出这一决定时应牢记哪些要点 虚拟和抽象几乎是一样的 虚方法在基类中有一个实现 可以选择重写 而抽象方法则没有 并且must在子类中被覆盖 否则它们是相同的 在
  • 模板类的模板构造函数的 C++ 显式模板特化

    我有一个像这样的课程 template
  • 在 Win32 控制台应用程序中设置光标位置

    如何在 Win32 控制台应用程序中设置光标位置 最好 我想避免制作句柄并使用 Windows 控制台功能 我花了整个早上沿着那条黑暗的小巷跑 它产生的问题比它解决的问题还要多 我似乎记得当我在大学时使用 stdio 做这件事相对简单 但我
  • 为什么空循环使用如此多的处理器时间?

    如果我的代码中有一个空的 while 循环 例如 while true 它将把处理器的使用率提高到大约 25 但是 如果我执行以下操作 while true Sleep 1 它只会使用大约1 那么这是为什么呢 更新 感谢所有精彩的回复 但我
  • 是否允许全局静态标识符以单个 _ 开头?

    换句话说 可能static 文件范围 全局变量恰好以一个下划线开头 而不会产生与 C 实现发生名称冲突的可能性 https www gnu org software libc manual html node Reserved Names

随机推荐

  • 如何从HWND获取窗口类名和ID?

    如何从HWND获取窗口类名和ID 我搜索了一下 但发现相反的更受欢迎 有什么想法吗 回答者Andreas https stackoverflow com questions 3246663 how to get the window cla
  • Android 屏幕关闭时识别音量按钮按下

    我试图识别用户何时在屏幕关闭时按下音量键来更新活动 根据我的阅读 广播接收器 我认为 在手机睡眠时不起作用 因此唯一的方法是使用 PARTIAL WAKE LOCK 保持活动运行 我的应用程序是一个基本应用程序 不应该使用太多电池 但我担心
  • 禁用 Highcharts 中的 PDF 和 SVG 下载选项

    我在我的 Web 应用程序中使用 Highcharts v4 0 3 和 exporting js 并且我希望能够为最终用户提供以下下载选项 下载 JPG 格式的图表 下载 PNG 图表 但是 标准选项是 打印图表 下载 JPG 格式的图表
  • 使用 font Awesome 和 css 自定义复选框

    我正在制作一个带有 font Awesome 和 css 的自定义复选框 单击 选中复选框时 我尝试在黑色复选框周围创建一些填充 选中 单击时在白色框中有一个较小的黑色框 import url netdna bootstrapcdn com
  • 处理 float() 函数

    首先 是这个功能 https processing org reference floatconvert html特殊处理还是默认存在于java中 当我在处理下面的行时编码时 println float 88 t float 88 n t
  • 如何正确地为 Office COM 加载项实现 IDTEXtensibility2 接口?

    我正在为 Outlook 实施 COM 加载项 我使用 IDTEXtensibility2 我不确定这是否是执行 COM 加载项的最佳方式 但我无法更改它 该接口定义了五个方法 OnConnection OnStartupComplete
  • Ember CLI:自定义输入助手

    我正在尝试使用 UrlField 扩展 Ember 的 TextField 以便如果有人忘记包含http 它为他们做到了 这是我的观点 视图 input url js import Ember from ember export defau
  • 模块对象没有属性“DescriptorExtractor_create()”

    我安装了 opencv3 1 0 并正确安装了 opencv contrib 但收到错误 no module DescriptorExtractor create 一切都很好 建议 在 OpenCV 3 x 中 SIFT 和 SURF 已被
  • 如何使用 XChart 使 Y 轴上的限制相同?

    我正在尝试绘制一系列相似的函数 域是 0 1 范围总是在 3 3 中 我希望每个图表的 Y 轴限制都相同 尝试设置系列 y min 和 y max 似乎不起作用 有没有办法使每个图表上的 Y 轴限制相同 import java math B
  • 使用 SMO 库从 C# 中的应用程序运行 .sql 文件

    我正在 C Visual Studio 2012 RC 中构建一个应用程序 我必须在应用程序中运行脚本 为此我正在使用 这两个库 我的应用程序的目标 net 框架是 4 5 using Microsoft SqlServer Managem
  • 溢出-x:可见;溢出-y:自动;不起作用 - 这个标准符合吗? [复制]

    这个问题在这里已经有答案了 我在开发网页时遇到问题 Firefox 或 Internet Explorer 都不会呈现我期望的以下代码片段的行为 div style width 200px height 200px border 1px s
  • 是否可以让空的 RequestParam 值使用 defaultValue?

    如果我有一个类似于以下内容的请求映射 RequestMapping value test method RequestMethod POST ResponseBody public void test RequestParam value
  • Java 中的无符号短整型

    我怎样才能声明unsigned shortJava 中的值 你不能 真的 Java 没有任何无符号数据类型 除了char 诚然你could use char 这是一个 16 位无符号类型 但在我看来这将是可怕的 因为char显然适用于文本
  • Python QuTiP 中的集成未成功

    我一直在尝试使用 QuTiP 来求解量子力学矩阵微分方程 Lindblad 方程 这是代码 from qutip import from matplotlib import import numpy as np hamiltonian np
  • 用其他语言编写 JavaScript

    我有一些不会说英语的客户 他们希望我用另一种语言为他们编写 JavaScript 浏览器可以理解其他语言吗 还是我仅限于非英语注释 navigateur nomApp indice Microsoft 代替 navigator appNam
  • 当没有按钮时,如何防止 fetch 请求重新加载 Javascript 页面?

    首先我要说的是 有无数的线程描述了涉及按钮的问题 通常 只需对传入的事件调用 event preventDefault 即可解决该问题 但是 如果在发生超出用户控制范围的事件 例如 经过一定量的帧后 后调用 post 请求 该怎么办 mak
  • 在 pandas/matplotlib 中获取散点图的 Colorbar 实例

    如何获取 pandas DataFrame plot 创建的绘图的内部创建的颜色条实例 以下是生成彩色散点图的示例 import matplotlib pyplot as plt import pandas as pd import num
  • 尺寸改变时宽度不改变

    我已经这样做很多年了 但现在它不起作用了 private void Form1 Deactivate object sender EventArgs e this Size new Size 30 29 txt Visible false
  • 有基础活动课程好吗?

    拥有好不好BaseActivity类 它将作为所有其他活动的超级类 我需要这个来为活动提供一些通用的实现 基础活动 public class BaseActivity extends Activity All Common implemen
  • 在 C# 中移动 Form2 时移动 Form1

    我有两种形式 Form2正在被打开Form1 像这样 Form2 ShowDialog StartPosition of Form2配置为centerParent 我需要固定位置Form2在 Form1 的中心 这样当我移动时Form2 F