Tag: winforms

创建自定义工具提示C#

我想创建一个自定义工具提示,具有不同的样式,以便当我单击控件(例如标签或用户控件)时,它会出现。 类似于Google在Google地图中为坐标所做的事情。 我试图创建一个用户控件,并在用户点击标签时显示它,但它不能正常工作。 这是WinForms ! 我附上了我想要的照片。 先感谢您!

如何填充两个样条线或线之间的区域

我有这张Chart : 如何填充两个Series S0 and S1之间的区域,比如蓝色和黄色Series ?

从Windows中提取键盘布局

好的,这是一个有点奇怪的问题。 我们有一个触摸屏应用程序(即没有键盘)。 当用户需要输入文本时,应用程序会显示虚拟键盘 – 手工构建在WinForms中。 为每种新语言手工制作这些东西都是猴子的工作。 我认为Windows必须将此键盘布局信息隐藏在某些dll中的某处。 无论如何都会从窗口获取此信息? 欢迎其他想法(我认为至少从xml文件生成的东西必须比在VS中手动执行更好)。 (注意:说了所有这些,我注意到有一个日文键盘,状态机和所有……,所以XML可能不够) 更新 :关于这个主题的相当不错的系列(我相信) 在这里

在WinForms中嵌入XNA

是否可以在C#WinForm或C ++窗口中嵌入XNA游戏。 如果是,那么如何。 我想使用普通的UI控件并拥有游戏的窗口界面,以实现更具交互性和动态的模拟。

Clickonce完全信任应用程序更新失败,在Windows 8上出现TrustNotGrantedException

我们在C#中有一个winforms clickonce应用程序,该应用程序被授予完全信任并使用有效证书进行签名。 应用程序运行正常并在Windows XP,Windows 7上正确更新。但是,在Windows 8计算机上,它无法更新。 应用程序运行正常。 但是,升级到更高版本的第一个更新请求失败,出现: System.Deployment.Application.TrustNotGrantedException 调用ApplicationDeployment::CheckForDetailedUpdate()失败后代码失败。 想知道为什么会发生这种情况,因为完全相同的代码在所有以前版本的Windows上运行正常。 任何帮助将不胜感激。 以下是相关的堆栈跟踪: System.Deployment.Application.TrustNotGrantedException: User has refused to grant required permissions to the application. at System.Deployment.Application.ApplicationTrust.RequestTrust(SubscriptionState subState, Boolean isShellVisible, Boolean isUpdate, ActivationContext actCtx, TrustManagerContext tmc) at System.Deployment.Application.DeploymentManager.DetermineTrustCore(Boolean blocking, TrustParams tp) at System.Deployment.Application.DeploymentManager.DetermineTrust(TrustParams trustParams) at System.Deployment.Application.ApplicationDeployment.CheckForDetailedUpdate(Boolean persistUpdateCheckResult) at System.Deployment.Application.ApplicationDeployment.CheckForDetailedUpdate()

解决.NET 4.0中SynchronizationContext.Current为空的问题

在.NET 4.0的主线程上, SynchronizationContext.Current意外为空的问题的解决方法是什么? 看到: 在主UI线程的Continuation中,SynchronizationContext.Current为null

如何从另一个类更新Windows窗体GUI?

如何从创建GUI而不是创建线程的另一个类更新win表单控件(例如标签,进度条)? (例如,Program.cs的事件处理程序) 我发现了几篇关于使用Invoke()方法从另一个线程更新GUI的post,但到目前为止我发现的只有在代码与表单编写在同一个类中时才有效 http://www.yoda.arachsys.com/csharp/threads/winforms.shtml

C#为什么form.Close()没有关闭表单?

我有一个按钮单击事件处理程序与以下伪代码: private void btnSave_Click(object sender, EventArgs e) { if(txt.Text.length == 0) this.Close(); else // Do something else // Some other code… } 这只是一些简单的代码,但重点是,当文本长度等于零时,我想关闭表单。 但是代码不是关闭表单而是执行部分//其他一些代码。 单击事件处理程序完全执行后,表单将关闭。 我知道,当我在此之后this.Close() return时this.Close()表单将关闭,但是我想知道为什么在调用this.Close()时表单不会直接关闭。 为什么执行事件处理程序的其余部分?

Windows窗体应用程序中的非抗锯齿手形光标!

好的,所以你知道在Windows Vista和Windows 7 MS中如何更改手形光标(当你将鼠标hover在超链接上时显示的手形光标),并为它添加了更多细节,因此它的抗锯齿效果很好而且边缘平滑? 那么,为什么它不像Windows Forms应用程序那样? 我看着一个看起来像是由一个穴居人绘制的蹩脚的手形光标,有没有办法以编程方式告诉它显示实际安装在系统中的那个? 我查看了Windows目录中的Cursors文件夹,旧的手形光标甚至都没有! 那么为什么WinForms仍在使用旧版本呢? 我怎样才能’升级’呢?

鼠标滚轮事件未触发

我已经看过这个关于完全相同的问题的线程 ,但该解决方案对我不起作用。 基本上我想要完成的是当用户与Windows窗体上的图表控件交互时的鼠标滚轮事件。 现在我尝试了一些不同的东西。 public mainForm() { InitializeComponent(); this.chData.MouseWheel +=new MouseEventHandler(chData_MouseWheel); } 我也尝试将其添加到mainForm.Designer.cs: this.chData.TabIndex = 2; this.chData.Text = “chart2”; this.chData.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.chData_MouseWheel); this.chData.MouseClick += new System.Windows.Forms.MouseEventHandler(this.chData_MouseClick); this.chData.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.chData_MouseDoubleClick); this.chData.MouseMove += new System.Windows.Forms.MouseEventHandler(this.chData_MouseMove); (我已将整个区块包括在内以供演示)。 我也有如下定义的function: private void chData_MouseWheel(object sender, MouseEventArgs e) { MessageBox.Show(“FJDKS”); } 不幸的是我无法解决这个问题? 谁能告诉我哪里出错了? 提前致谢!