我有一个使用MSI安装程序安装的Windows窗体应用程序(C#、NET3.5)。在此应用程序中,我有一个按钮,按下该按钮会打开具有特定URL的浏览器。我用Process.Start(url);打开浏览器。这在调试时工作正常,但在安装后效果不佳。例如。如果我安装它时选择了JustMe选项,我将打开我的默认设置具有当前设置的浏览器(FF)。如果我使用Everyone选项安装它,当我按下按钮时它打开了一个没有我最近设置的IE版本(代理、显示的工具栏等)据我所知,这个问题是由安装时与应用程序关联的用户引起的。考虑到用户可能需要代理和个人浏览器设置,以及“只有我,每个人”的选择应由用户自行决定
我一直认为使用iTunes或VisualStudio2012等程序的表单边框是在没有边框样式的情况下完成的,关闭按钮等按钮被绘制为图像。但是一旦我的VisualStudio没有响应并且边框更改为基本的Windows边框。如何获得自己的表单边框?在C#中可以吗? 最佳答案 您看到的是“幽灵窗口”,这是Windows窗口管理器创建的一个窗口,用于替换死窗口。您会在标题栏中看到“无响应”。该窗口当然不需要相同的自定义样式,Windows不可能知道如何正确地做到这一点。您可以使用Spy++实用程序查看另一个应用程序的窗口属性。VS2012实
在VC++中创建窗口时我们需要创建窗口类并使用RegisterClass或RegisterClassEx进行注册。但是在.NET中我们没有这一步。所以我想知道VisualStudio在创建表单时分配的默认窗口类名是什么?据我了解,VisualStudio分配的窗口类名称与此有些相似:WindowsForms10.Window.8.app.0.1ca0192_r13_ad1我想更改此默认窗口类名称,知道吗? 最佳答案 窗口类名是自动生成的。您无法更改它们,即使CreateParams允许您设置ClassName属性。外部程序也无法正确
我有一个用Delphi7编写的监控应用程序,它在辅助监视器的一部分上运行。如果窗口最小化(例如,如果我在主显示器上使用“Windows-D”(查看桌面)命令),我想让它恢复正常可见性我每隔几秒就试过这个由计时器激活的代码:if(Mainform.WindowStatewsNormal)thenMainform.WindowState:=wsNormal;{restoremainwindowifminimized}这是行不通的。为了调试它,我更改了代码以在程序运行时将Mainform.WindowState的值记录到一个文件中。即使主窗体的窗口最小化,该值仍然是wsNormal。为什么?
我正在尝试创建一个软件来或多或少地自动化网页上的表单填写-我决定在System.Windows.Forms中使用WebBrowser控件。这很好用,我可以轻松地操纵DOM通过webbrowser.Document等等。然而不幸的是,我正在执行自动化的网站有一个在iframe中运行的文件上传-这就是我被困的地方,我根本不知道如何能够操作iframe的DOM中的元素。理想情况下我想做的是:HtmlElementiframe=browser.Document.GetElementById("iframe_id");iframe.InnerDocument.GetElementById("fi
我有一个TForm对象,其高度大于屏幕所需的垂直分辨率。出于某种原因,Windows不允许表单的可见(客户端?)区域超出屏幕分辨率,因此垂直滚动条出现在我的表单上。如何获取整个表单的TBitmap图像或屏幕截图(无滚动条,所有表单组件可见)以便表单的所有内容可见? 最佳答案 首先您必须确保表单没有滚动条。为此,您可以为FormConstrainedResize编写一个事件处理程序,并根据您的需要调整MaxWidth和MaxHeight。如果在设计过程中限制了窗体大小,请在FormCreate事件中将所需的Width和Height设置
我有一个用Delphi6编写并在WindowsXP上编译的应用程序。通常我在控件和表单边缘之间留出8px的空隙。当此应用程序在Vista或Win7上运行时,此差距较小或根本不存在。我认为这可能是因为这些版本的Windows具有较粗的窗体边框。现在我正在将应用程序移动到Delphi2007。在表单设计器中,表单已经失去了底部和右侧的空白。我该如何处理?我有数百种形式,不想全部更改。此外,我们的大多数用户都在WinXP上运行该应用程序,因此我不想让它在XP中看起来很糟糕。 最佳答案 简短版本:将所有表单更改为AutoScroll=Fal
我已经有一段时间没有编写GUI程序了,所以这可能最终会变得非常简单,但我无法在任何地方在线找到解决方案。基本上我的问题是,当我最大化我的程序时,窗口内的所有东西(按钮、文本框等)都停留在窗口中的相同位置,这导致靠近底部和右侧的区域有很大的空白区域边。有没有办法让程序中的元素按比例拉伸(stretch)? 最佳答案 您想检查并正确设置窗体中每个控件的Anchor和Dock属性。控件上的Anchor属性指示控件“锚定”到窗体的哪一侧(顶部、底部、左侧、右侧)。调整窗体大小时,控件与其anchor之间的距离将保持不变。例如,这可以让您将控
所以这可能是一个非常基本的问题,但我正在将ListBox项目拖放到一个面板上,该面板将根据值创建组件。作为一个简单的例子,当ListBox中的项目被放到面板上时,我需要它能够在面板上创建一个新标签。我有以下代码,但我不确定如何在面板被删除后将标签动态添加到面板。这是我的示例代码...namespaceTestApp{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){listBox1.Items.Add("Firs
这个问题在这里已经有了答案:Drawsemitransparentoverlayimagealloverthewindowsformhavingsomecontrols(3个答案)关闭去年。我可以在form上绘制所有控件吗?我的form上有一些控件(文本框、按钮、COM对象),我想在它们,覆盖它们之前绘制的任何像素。我在C#上使用Windows窗体。注意:Graphics类在控件下绘制...