如何使用 C# 从另一个表单按下按钮?

2023-12-10

我有两种形式:

  1. Form1 进行屏幕截图。
  2. Form2 有 2 个按钮来操作 form1 创建的屏幕截图。

Form1 还有一个“隐藏”按钮,其中包含保存屏幕截图的方法。

我的问题:

如何从form2中单击form1的按钮? 和 如何检查 form1 何时关闭,然后也关闭 form2?

我尝试过类似的操作,但是当我单击 form2 保存按钮时没有任何反应:

var form = Form.ActiveForm as Form1;
if (form != null)
{
    form.button1.PerformClick();
}

首先,多个表单工作的正常方式是,当您关闭启动表单时,辅助表单也会关闭。如果您正在创建您的Form2 in Form1我会通过使用来展示它(your second Forms Instance).Show(this)。然后您可以通过 Form2 的父属性访问该表单。 IE。

      var form = (Form1)this.Owner();

然后您应该能够访问所有公共方法Form1,另外我会采用您用来保存屏幕截图的代码并将其放入公共方法中,不需要将其放在按钮的单击事件中,特别是如果按钮是隐藏的。

这是一个简单的例子:

Form1

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

    }

    private void button1_Click(object sender, EventArgs e)
    {
        Form2 frm = new Form2();
        frm.Show(this);
    }

}

Form2

public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        var frm = (Form1)this.Owner;
        if (frm != null)
            frm.button1.PerformClick();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 C# 从另一个表单按下按钮? 的相关文章

  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • 如何让 Swagger 插件在自托管服务堆栈中工作

    我已经用 github 上提供的示例重新提出了这个问题 并为任何想要自己运行代码的人提供了一个下拉框下载链接 Swagger 无法在自托管 ServiceStack 服务上工作 https stackoverflow com questio
  • ClickOnce 应用程序错误:部署和应用程序没有匹配的安全区域

    我在 IE 中使用 FireFox 和 Chrome 的 ClickOnce 应用程序时遇到问题 它工作正常 异常的详细信息是 PLATFORM VERSION INFO Windows 6 1 7600 0 Win32NT Common
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 使用 LINQ2SQL 在 ASP.NET MVC 中的各种模型存储库之间共享数据上下文

    我的应用程序中有 2 个存储库 每个存储库都有自己的数据上下文对象 最终结果是我尝试将从一个存储库检索到的对象附加到从另一个存储库检索到的对象 这会导致异常 Use 构造函数注入将 DataContext 注入每个存储库 public cl
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • 如何使用 LINQ2SQL 连接两个不同上下文的表?

    我的应用程序中有 2 个数据上下文 不同的数据库 并且需要能够通过上下文 B 中的表的右连接来查询上下文 A 中的表 我该如何在 LINQ2SQL 中执行此操作 Why 我们正在使用 SaaS 产品来跟踪我们的时间 项目等 并希望向该产品发
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum

随机推荐

  • 如何将多个材质谷歌图表添加到一页?

    这个问题之前已经被问过 但对于旧的corechartAPI 我没有遇到过问题 不是新的Material图表 例如 以下代码将按预期创建两个图表 var data Year Sales Expenses Profit 2014 1000 40
  • git Push 原始头?

    我对 git repo 下的文件做了一些更改 我使用提交了文件git commit 然后我尝试使用git push origin master返回的Everything up to date I typed git push origin
  • dispatch_sync(dispatch_get_global_queue(xxx), task) 是同步还是异步

    正如Apple的文档所说 dispatch get global queue 是一个并发队列 而dispatch sync是串行的意思 那么任务是异步处理还是同步处理 您对队列是什么以及异步与同步的含义感到困惑 队列是可以运行块的实体 这些
  • 通过消除空值来合并 Apache Spark 中的行

    我有一个像下面这样的 Spark 数据框 id 1 2 3 sf 1 sf 2 sf 3 2 null null null 102 202 302 4 null null null 104 204 304 1 null null null
  • numpy 索引:尾随省略号不应该是多余的吗?

    在尝试正确理解 numpy 索引规则时 我偶然发现了以下内容 我曾经认为索引中的尾随省略号没有任何作用 是不是很琐碎 但事实并非如此 Python 3 5 2 default Nov 11 2016 04 18 53 GCC 4 8 5 o
  • 如何手动构建 AVDepthData

    我想构建自己的深度图并保存带有深度信息的图像 例如肖像照片 所以首先我需要生成 AVDepthData 在挖掘了它的构建方式之后 我尝试重现它 func buildDepth let info AnyHashable Any kCGImag
  • 如何访问 xsl:output 属性中的 xsl:param?

    我想允许转换器在样式表中设置一个参数来指定需要多少个缩进空间 我已经尝试了 Dimitre Novatev 在答案中的所有建议here无济于事
  • ThisWorkbook 运行时错误 438

    我有一个 VBA 将唯一值从 Sheet1 复制并粘贴到 Sheet3 上 但是 当我运行 VBA 时 出现运行时错误 438 我的 VBA 看起来像这样 Sub UniqueList Application ScreenUpdating
  • Spring Kafka 中的 Kafka 消费者/生产者测试

    我目前正在研究我正在使用的 Kafka 模块spring kafka卡夫卡通信的抽象 我能够从实际实现的角度集成生产者和消费者 但是 我不确定如何测试 特别是集成测试 消费者周围的业务逻辑 KafkaListener 我试着跟随spring
  • 在 PyCharm 上导入 NLTK 时出错

    我试图在 PyCharm 中导入 NLTK 并收到以下错误 我使用的是 Mac OS 10 5 8 和 Python 2 7 6 可能发生什么事 我对编程完全陌生 如果我缺少一些基本的东西 我很抱歉 安装软件包失败 安装软件包 nltk 时
  • 在 R 包中包含 Shiny 应用程序:传输输入参数

    我正在尝试将 Shiny 应用程序作为 R 包的一部分运行 我按照 Dean Attali 网站上列出的说明进行操作 https deanattali com 2015 04 21 r package shiny app 如该网站所示 我在
  • postgresql 中的字符串文字和转义字符

    尝试将转义字符插入表中会导致警告 例如 create table EscapeTest text varchar 50 insert into EscapeTest text values This is the first part n
  • Firebase Storage getDownloadURL 背后的目的是什么

    根据这些docs 我明白一旦我们在存储中拥有了 firebase 路径 我们就可以通过调用来获取下载网址getDownloadUrl 在这条路径上的ref 我的问题是所有文档都建议首先获取下载网址 然后根据这些图像下载文件数据 但是我们可以
  • Ionic 找不到模块“../providers/auth-service/auth-service”

    我正在尝试在 ionic Angular 3 3 0 中创建登录 注册 我收到错误无法找到模块 providers auth service auth service 在login ts 文件中 请帮忙 auth service ts im
  • 选择具有给定 id 的元素的更快方法

    我有个问题 假设我们有以下 html 标签 div I am a div div 他的div存在于dom上 它不是由javascript生成的 如果我想在 javascript 中多次使用这个 div 哪种方法更好 将其存储在如下变量中 v
  • 在 R 中哪些包可以快速加载更大的数据

    在 R 中 数据通常加载到 RAM 中 是否有任何软件包可以将数据加载到磁盘而不是 RAM 中 查看bigmemory包 以及相关包 例如bigtabulate bigalgebra biganalytics 和更多 还有ff 尽管我发现它
  • 如何沿列迭代向下相乘?

    我在这件事上遇到了困难 不知道为什么 也许现在已经很晚了 我在 pandas 中有一个数据框 如下所示 1 10 2 11 3 20 4 5 5 10 我想计算每一行上面每一行的被乘数 例如 在第 3 行 我想计算 10 11 20 即 2
  • 如何使用 Selenium WebDriver 和 Java 查找损坏的链接

    我想验证网站上的损坏链接 并且我正在使用以下代码 public static int invalidLink String currentLink String temp public static void main String arg
  • 如何禁用文本选择突出显示

    对于作用类似于按钮的锚点 例如 此 Stack Overflow 页面侧边栏上标题为问题 Tags and Users 或选项卡 是否有 CSS 标准方法可以在用户意外选择文本时禁用突出显示效果 我意识到这可以用 JavaScript 来完
  • 如何使用 C# 从另一个表单按下按钮?

    我有两种形式 Form1 进行屏幕截图 Form2 有 2 个按钮来操作 form1 创建的屏幕截图 Form1 还有一个 隐藏 按钮 其中包含保存屏幕截图的方法 我的问题 如何从form2中单击form1的按钮 和 如何检查 form1