Tag: winforms

如何在WebBrowser控件中启用inPrivate模式

我必须在IE浏览器上添加一些额外的function。 在Visual Studio中,我们有一个名为“WebBrowser”的组件,它使用安装在用户PC中的当前IE浏览器。 但是,我无法找到任何能够访问我希望通过控件公开的InPrivate模式的属性。 有没有办法使用InPrivate模式与WebBrowser控件,或者我必须使自己的浏览器支持这个?

如何使用WebBrowser控件模拟鼠标单击

使用WebBrowser控件我可以在手动单击鼠标按钮时调用一个事件,但我希望程序自己执行单击操作,而不是在手动执行单击时执行某些操作。 例如,如果我在页面上提供控件的ID,我希望程序单击它。 这是我到目前为止所拥有的: HtmlElement button = webBrowser1.Document.GetElementById(“lButtonSearch”); button.Click += new HtmlElementEventHandler(GotoSearchPage);

如何在WCF中向请求添加授权标头?

我正在使用Windows窗体应用程序,并且需要调用WCF服务。 我需要在请求发送到服务之前向请求添加标头(授权 – 自定义)。 我也有一个自定义检查器类。 我尝试了以下但是服务没有被调用,不知何故,它返回一个exception。 public object BeforeSendRequest(ref Message request, IClientChannel channel) { MessageHeader header = MessageHeader.CreateHeader(“Authorization”, “”, “Basic Y19udGk6Q29udGlfQjNTVA==”); OperationContext.Current.OutgoingMessageHeaders.Add(header); HttpRequestMessageProperty httpRequestProperty = new HttpRequestMessageProperty(); httpRequestProperty.Headers.Add(“Authorization”, “Basic Y19udGk6Q29udGlfQjNTVA==”); httpRequestProperty.Headers.Add(HttpRequestHeader.UserAgent, “Continental”); OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty; sentMessages.Add(request.ToString()); return null; } 我也尝试过这样一个最简单的方法: MessageHeader header = MessageHeader.CreateHeader(“Authorization”, “”, “Basic Y19udGk6Q29udGlfQjNTVA==”); request.Headers.Add(header); 但它是相同的,添加了授权标题,但它没有到达服务,我怎么知道服务接收到什么标题? 当我在请求中手动添加这样的头文件(运行之前)时,我使用SOAP UI和服务响应很好。

按钮列的DataGridView图像

我正在尝试将可点击的图像/按钮添加到datagridview按钮列。 图像/按钮将是播放或停止的图标。 如果用户单击播放按钮,则启动系统上的服务,如果用户单击停止按钮,则服务停止。 我已经编写了启动和停止服务的函数。 我遇到的困难是让按钮/图像显示在数据网格中并使其可点击。 这是我对代码的看法: this.dgrdServices.RowPrePaint +=new DataGridViewRowPrePaintEventHandler(dgv_RowPrePaint); this.dgrdServices.Rows.Add(); this.dgrdServices.Rows[0].Cells[0].Value = Image.FromFile(@”C:\users\brad\desktop\green-dot.gif”); this.dgrdServices.Rows[0].Cells[1].Value = “MyServer”; this.dgrdServices.Rows[0].Cells[2].Value = “MyService”; this.dgrdServices.Rows[0].Cells[3].Value = “Started”; this.dgrdServices.Rows[0].Cells[4].Value = new DataGridViewButtonCell(); this.dgrdServices.Rows[0].Cells[5].Value = “Uninstall”; 如果最好使用一个图像按钮或一个可点击的图像,我就无法解决。 我也无法正确显示按钮。 谢谢Brad

如何创建属于标签页的一组控件的全屏视图

我想知道创建一个tabpage控件的全屏视图的正确方法是什么。 此页面具有其他控件,并且该控件具有已订阅的各种事件。 我正在尝试创建一个新的全屏表单并将选项卡的所有控件复制到该表单,但是使用这种方法我需要将每个控件重新订阅到相应的处理程序。 如果我只添加引用,则订阅仍然存在,但是当全屏表单关闭时,引用的复制控件也将丢失。

用于选择多个文件和文件夹.NET的必需对话框

我觉得很容易找到,我错了。 对话要求: 可以同时浏览MULTIPLE FILES / FOLDERS。 可以在.NET窗体中使用。 免费或可以在GPL下使用。 适用于Win Xp和Win 7。 对话框首选项: C# 看起来像.NET中的OpenFileDialog。 有粘贴路径的文本框。 我从WEB尝试了几个例子,没有一个符合所有要求! 一些最接近解决方案的例子: http://www.monkeybreadsoftware.net/class-opendialogmbs.shtml ,它不是免费的 http://www.codeproject.com/KB/dialog/FileDialogs.aspx,WIN7问题

Winforms:如何使用IoC容器注册表单

背景 我正在构建一个winforms应用程序,我正在使用IoC容器(SimpleInjector)来注册我的类型。 在我的应用程序中,大多数屏幕(即表单)在任何给定时间只有一个实例。 问题 对于在任何给定时间只需要一个实例的表单,我可以将它们注册为单例: container.Register(Lifestyle.Singleton); 这允许我使用容器来跟踪所有表单。 但是,在这种情况下,当表单被关闭时,它将被处理掉(表单实现IDisposable)。 如果应用程序尝试使用容器再次打开该表单,则将处理该表单的容器实例,并抛出exception。 题 处理这个问题的正确方法是什么? 我目前看到两种解决方案: 对于每个表单,覆盖表单,然后隐藏表单,而不是实际关闭它。 我真的不喜欢这个主意。 我觉得我每次都要关闭表单,然后从一个新的/新的表单开始。 使用短暂的生活方式注册表单而不是单身。 在这种情况下,容器真的只是作为工厂。 我遇到两个问题:a)我失去了通过容器跟踪表单的能力,并且,b)容器在validation期间抛出exception,说一次性类型不应该被注册为瞬态(我不明白为什么这是)。 这些问题都适用于我同时需要多个实例的表单。 我可以通过在validation期间抑制诊断警告来解决问题b)。 registration = container.GetRegistration(typeof(ILoginView)).Registration; registration.SuppressDiagnosticWarning(DiagnosticType.DisposableTransientComponent, “Winforms registration supression.”); 在这里采取正确的方法是什么? 我错过了什么吗?

如何在ToolBox上放置扩展的WinForms控件

我计划使用以下内容向TextBox添加function: public class TextBoxExt : TextBox { protected override void OnKeyPress(KeyPressEventArgs e) { base.OnKeyPress(e); } } 问题是我们如何使用这个TextBoxExt? 反正有没有把这个类放到ToolBox上,以便我们可以将它拖放到表单上? 如果没有,使用TextBoxExt的最佳方法是什么?

如何在Windows窗体应用程序中触发自动注销?

我有一个Windows应用程序项目,用户可以使用他们的用户ID和密码登录。 我想这样做,以便当用户登录时,我将获得登录时间,如果用户没有使用该应用程序30分钟,应用程序将再次将用户发送到登录屏幕。 我怎样才能做到这一点?

“输入字符串的格式不正确。”

我正在开发一个项目,我在其中有一个表单,通过该表单我可以在列表视图中编辑可用的问题。 每当我从列表视图中选择一行并单击“修改”按钮时,列表视图上方的文本框将加载问题及其选项。 这意味着当我在列表视图中选择一行并单击“修改”按钮时,问题会将其自身加载到文本框中。 我在那里编辑问题并单击“保存”以保存更改,但我无法访问文本框中的数据。 它说{“Input string was not in a correct format.”} 。 我的表格frmFormWizard的’编辑’按钮的代码如下: frmFormWizard.cs代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.Sql; using System.Data.SqlClient; namespace SurveyBuilder { public partial class frmFormWizard : Form { int intPanelNumber = 1; Boolean blnCancel = false; //int intFlag […]