如何在C#中将表单显示在前面

2024-02-27

Folks,

请问有人知道如何从其他不可见的应用程序中显示表格吗?and它是否获得焦点(即出现在其他窗口的顶部)?我正在使用 C# .NET 3.5。

我怀疑我采取了“完全错误的方法”......我确实not 应用程序.运行(新的TheForm())相反我(new TheForm()).ShowModal()...表单基本上是一个模式对话框,带有一些复选框;文本框以及“确定”和“取消”按钮。用户勾选一个复选框并输入描述(或其他内容),然后按“确定”,表单消失,进程从表单中读取用户输入,处理它,然后继续处理。

这是有效的,除非当显示表单时它不会获得焦点,而是出现在“主机”应用程序后面,直到您在任务栏(或其他位置)中单击它。这是一个最烦人的行为,我预测这会导致许多“支持电话”,而现有的 VB6 版本没有这个问题,所以我在可用性方面倒退了......用户不会接受这一点(并且他们也不应该)。

所以......我开始认为我需要重新考虑整个shebang......我应该在前面显示表单,作为“正常应用程序”,并将处理的其余部分附加到“确定”按钮单击事件。它应该有效,但这需要我没有的时间(我已经超出了时间/预算)......所以首先我真的需要尝试使当前的方法发挥作用......即使通过快速和 -肮脏的方法。

那么,有人知道如何“强制”.NET 3.5 表单(通过公平手段或家禽)来获得焦点吗?我在想“神奇的”Windows API 调用(我知道

模糊地带:这似乎只是工作中的一个问题,我们在 Windows XP SP3 上使用 Visual Studio 2008...我刚刚在家里的 Visual C# 2008 上使用 SSCCE(见下文)未能重现该问题Vista Ulimate...这很好用。啊?搞什么?

另外,我发誓昨天在工作中运行 EXE 时显示了该表单,但直接从 IDE 中按 F5(或 Ctrl-F5)时则没有(我刚刚忍受了)......在家里无论哪种方式,表格都显示良好。完全令人困惑!

它可能相关,也可能不相关,但今天早上,当项目在调试模式下运行并“动态”编辑代码时,Visual Studio 崩溃了……它陷入了我认为是无限循环错误的状态消息。错误消息是关于“无法调试这个项目,因为它不是当前项目,或者其他什么......所以我只是用进程资源管理器杀死了它。它再次正常启动,甚至提出恢复“丢失的项目” “文件,我接受了这个提议。

using System;
using System.Windows.Forms;

namespace ShowFormOnTop {
    static class Program {
        [STAThread]
        static void Main() {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //Application.Run(new Form1());
            Form1 frm = new Form1();
            frm.ShowDialog();
        }
    }
}

背景:我正在将现有的 VB6 实现移植到 .NET...它是一个名为“客户端”GIS 应用程序的“插件”MapInfo http://www.mapinfo.com/。现有的客户端“在无形中工作”,我的指示是“使新版本尽可能接近旧版本”,效果足够好(经过多年的修补);它只是用不受支持的语言编写的,因此我们需要移植它。

关于我:我对 C# 和 .NET 基本上是个菜鸟,虽然我有擦底证书,但我已经成为一名专业程序员 10 年了;所以我有点“知道一些东西”。

任何见解都将受到欢迎……感谢大家花时间阅读本文。意识(显然)不是我的强项。

干杯。基思.


Simply

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

如何在C#中将表单显示在前面 的相关文章

  • 具有相同参数类型但具有不同常量限定符的 std::vector 的转换

    问题很简单 静态转换 或其他一些转换 通常是安全的 std vector lt Foo gt to std vector lt const Foo gt 就二进制而言 我不明白为什么本机类型会有所不同 毕竟const是一种语言约束 不应影响
  • STL之类的容器typedef快捷方式?

    STL 容器的常见模式是这样的 map
  • 局部函数声明有什么用处吗?

    大多数像我这样的 C 程序员都曾犯过以下错误 class C int main C c declares a function c taking no arguments returning a C not as intended by m
  • C# 无法捕获 SerializationException

    我的程序在加载序列化文件的部分遇到问题 如果文件无法反序列化 我希望很好地失败 但由于某种原因 我的程序将中断而不是进入 catch 子句 这是我的代码 using FileStream fs new FileStream openFile
  • opencv中如何去除二值图像噪声?

    将图像转换为二值图像 黑白 后如果有任何噪音怎么办 我消除了那些不需要的噪音 您可以看到下图的黑色区域内有一些白噪声 我该如何去除噪声 使用opencv http img857 imageshack us img857 999 blackn
  • 对作为函数参数传递的指针使用删除

    删除作为函数参数传递的指针是否可以 并且合法 如下所示 include
  • 如何自定义 Google 测试失败消息?

    我编写了一个如下所示的 Google 测试 它将一些计算值与 CSV 文件中预期存储的值进行比较 class SampleTest public testing Test public void setupFile const std st
  • 如何将STL容器数据转储到gdb中?

    我无法在 gdb 中转储 STL 无序映射容器值 变量类型是 std unordered map var 我的 gdb 版本 7 7 1 GDB配置 configure host x86 64 linux gnu target x86 64
  • 如何让XmlReader读取C#中的属性?

    我有一个 XML Stream 其中包含以下 XML 内容
  • 如何从外语线程调用Python函数(C++)

    我正在开发一个程序 使用 DirectShow 来抓取音频数据 媒体文件 DirectShow 使用线程将音频数据传递给回调 我的程序中的函数 然后我让该回调函数调用另一个函数 Python 中的函数 我使用 Boost Python 来包
  • 配置:错误:无法运行C编译的程序

    我正在尝试使用 Debian Wheezy 操作系统在我的 Raspberry Pi 上安装不同的软件 当我运行尝试配置软件时 我尝试安装我得到此输出 checking for C compiler default output file
  • 在 C# 中使用命名空间别名有什么好处? [复制]

    这个问题在这里已经有答案了 使用命名空间别名有什么好处 仅仅是为了简化编码吗 仅当与类发生冲突时我才使用名称空间别名 对我来说 这根本没有简化 我的意见是 如果没有必要 就不要使用
  • 如何构建一棵与或树?

    我需要一个支持 与 和 或 的树结构 例如 给定一个正则表达式 如ab c d e 我想把它变成一棵树 所以 一开始我们有两个 或 分支 它可以向下ab or c d e 如果你低头ab分支 你得到两个节点 a and b or a其次是b
  • DataGridView 行背景颜色没有改变

    我想根据加载时的特定条件更改 DGV 行的背景颜色 即使在 Windows 窗体中也是如此 但我看不到任何 DGV 行的颜色有任何变化 谁能告诉我如何解决这个问题 private void frmSecondaryPumps Load ob
  • 如何在 C# 中更改公共 IP 地址

    我正在创建一个 C winform 应用程序 我想在其中更改公共 IP 地址 而不是像 Hotspot Shield ZenMate OpenVPN 等那样更改 IPv4 地址 我已经检查了以下链接 但没有找到足够的帮助 所以我发布了这个问
  • Gremlin.net 文本包含等效项

    我正在使用 Gremlin net 库连接到 janus 图形服务器 我使用 cassandra 和弹性搜索进行数据存储和索引 在我使用的 gremlin 语言和 gremlin 控制台中文本包含在属性的文本中进行搜索 我正在使用混合索引
  • 如何同步nosql db(ravendb)中的更改

    我已经开始在 RavenDB 的示例上学习 NoSQL 我从一个最简单的模型开始 假设我们有由用户创建的主题 public class Topic public string Id get protected set public stri
  • C++ 中是否有与 PHP 的explode() 函数等效的函数? [复制]

    这个问题在这里已经有答案了 可能的重复 在 C 中分割字符串 https stackoverflow com questions 236129 splitting a string in c 在 PHP 中 explode 函数将获取一个字
  • 当我的进程被终止时到底会发生什么?

    我有一个包含本机代码和托管代码的混合进程 在 Windows Server 2003 上运行 当我从进程资源管理器中终止进程时 它会进入 100 cpu 的状态 并在消失之前保持这种状态一段时间 有时甚至 10 分钟 在此期间我无法 杀死
  • 如何使用 C# 为 azure devops 变量赋值

    我有 selenium C 测试脚本 可以从浏览器获取令牌 我有两个 azure devops 任务 一个用于执行 selenium 测试 另一个用于执行 API 测试 我想将 selenium 测试获取的令牌传递给 API 测试执行任务

随机推荐

  • 在python中计算直方图峰值

    在Python中 如何计算直方图的峰值 我试过这个 import numpy as np from scipy signal import argrelextrema data 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 1
  • 如何在Python中将元组转换为多层嵌套字典?

    我有一个以下格式的元组 639283 298290710 1385 639283 298290712 1389 639283 298290715 1395 745310 470212995 2061 745310 470213821 371
  • 将 MySql 从 Windows 服务器迁移到 Linux

    从旧的 Win2003 服务器迁移到新的 VM 服务器 我们选择 Win 或 Linux 如果我们使用 Linux 转换当前表会有任何问题吗 将 MySQL Windows 迁移到相同版本的 MySQL Linux 您可以按如下方式 mys
  • 不可变对象的真正好处是什么

    我总是听到人们说 在使用多个线程时管理不可变对象更容易 因为当一个线程访问不可变对象时 不必担心另一个线程正在更改它 那么 如果我有一个公司所有员工的不可变列表并且雇用了一名新员工 会发生什么情况 在这种情况下 必须复制不可变列表 并且它的
  • 从 T-sql 设置肥皂请求属性

    下面是我用来连接到我的 api 服务器的代码 对于其他调用来说一切正常 但是当涉及到上传图像时 它就不起作用了 如果我将代码复制到 SoapUI 并从那里运行 它确实可以工作 但在 SoapUI 中我必须将请求属性 启用内联文件 更改为 t
  • 如何将 Metal Performance Shader 与 MTLBlitCommandEncoder 同步?

    我试图更好地理解使用时的同步要求Metal Performance Shaders and an MTLBlitCommandEncoder 我有一个MTLCommandBuffer设置如下 Use MTLBlitCommandEncode
  • PHP 在特定字符处剪切字符串

    string aaa bbb ccc ddd eee fff 我想在第三个之后剪切字符串 所以我想从字符串中获取输出 aaa bbb ccc 您可以使用strpos and substr 为了这 看 http php net strpos
  • 反转 3D 旋转,使物体始终面向相机?

    我有很多排列在 3D 空间中的精灵 并且它们的父容器应用了旋转 我如何反转精灵 3D 旋转 使其始终面向相机 Actionscript 3 这是一个测试它的代码 package import flash display Sprite imp
  • 使用 JSFuck 约定访问 RegExp

    我想替换字符串中的一些字符 例如 console log truefalse replace e E 但使用jsfuck https kamil kielczewski github io jsfuck index html约定只允许 6
  • 实体框架保存更改

    只读操作后是否需要保存更改 实体已加载到缓存 但没有任何更改 是否应该在处置之前调用保存更改 From doc DbContext SaveChanges https msdn microsoft com en us library sys
  • Session_End 不触发?

    我想在用户会话超时时注销该用户 因此在 Global asax 中使用了以下代码 protected void Session End object sender EventArgs e FormsAuthentication SignOu
  • 如何在 ASP NET MVC 6 中更新模型?

    场景 如何更新模型 ASP MVC 6 我正在尝试更新模型 为了将模型信息传递给客户端 浏览器 应用程序 我使用 DTO 问题1 为了更新 我应该将整个对象发回吗 问题2 有没有办法可以轻松地只传递更新的信息 如果是 怎么办 问题3 我可以
  • 通过子进程将python的文件类对象传递给ffmpeg

    我有一个 django FileField 用于在 Amazon s3 服务器上存储 wav 文件 我已经设置了 celery 任务来读取该文件并将其转换为 mp3 并将其存储到另一个 FileField 我面临的问题是我无法将输入文件传递
  • FTP 数据连接重用

    我正在开发一个 FTP 客户端 并试图了解数据连接的工作流程 据我了解 最初的 command 连接是永久的 直到您退出为止 但是 我不确定数据连接 是否按命令重新启动 所以你打电话PORT or PASV 获得第二个连接 执行LIST 得
  • Rails - 回形针在不应该验证附件大小的情况下验证附件大小?

    我有一个使用 Paperclip 的轨道模型 如下所示 has attached file image styles gt normal gt 857x392 png url gt assets pages id basename exte
  • 如何在没有集群变量的情况下关闭 R 并行集群?

    随着parallelR 包 我可以像这样并行运行 library parallel cl lt makeCluster 2 Create a cluster with 2 workers do some parallel stuff sto
  • 当 props 没有改变时,React memo 会保持渲染

    我有一个无状态功能组件 它没有 props 并填充来自 React 上下文的内容 作为参考 我的应用程序使用 NextJS 并且是同构应用程序 我第一次尝试在这个组件上使用 React memo 但它在客户端页面更改时不断重新渲染 尽管 p
  • 禁用 GLSL 编译器优化

    我正在使用 OpenGL 4 2 和 GLSL 420 我需要防止 GLSL 编译器优化未使用的制服 因为这些制服用于偶尔的测试 我尝试过 version 420 pragma optimize off 但它似乎没有效果 编译器仍然清除所有
  • Linux 中相当于 MSVC++ 选项 /d1reportSingleClassLayout 的是什么?

    我正在将开发转移到 Linux 但我找不到如何在 g 或 clang 下从 MSVC 获得类似于 d1reportSingleClassLayout 的输出 如果这些编译器没有这样的功能 是否有外部工具提供类似的可视化功能 您需要编译带有调
  • 如何在C#中将表单显示在前面

    Folks 请问有人知道如何从其他不可见的应用程序中显示表格吗 and它是否获得焦点 即出现在其他窗口的顶部 我正在使用 C NET 3 5 我怀疑我采取了 完全错误的方法 我确实not 应用程序 运行 新的TheForm 相反我 new