Tag: winforms

如何在C#中禁用最小化按钮?

在我的应用程序中,我需要暂时灰显主窗体的最小化按钮。 任何想法如何实现这一目标? 我不介意对Win32 dll进行p /调用。 编辑:灰显最小化按钮将是首选解决方案,但有没有其他方法可以防止表单最小化?

ClickOnceInstall CefSharp Winforms问题

我正在尝试将我的示例Cefsharp winforms项目作为clickonceinstall应用程序运行。 在创建过程中一切都很好,但是当我尝试安装程序时(程序当然正在运行而且没有问题)没有任何反应! 我尝试了许多不同配置(发布,调试ecc)和平台(x86,x64)的这个操作,但始终是同一个问题。 我能做什么? 无论如何我在Windows 10 64位上使用Visual Studio 15。 如果您需要一些代码,请告诉我 提前致谢

如何拦截所有键盘事件并防止在WinForms应用程序中失去焦点?

我的一个朋友是盲人,我有一个想法,开发一个程序,让他在盲人打字方法和听力反馈的帮助下使用PC。 如果我的应用程序可以在启动时强行完全控制整个键盘输入,那么体验会更加丰富(使用更多按键来执行特定function)和完美无缺(如防止偶尔的焦点丢失)(我会把它放到它身上)在他的初创公司)。 我是一个WinForms C#.Net开发人员,所以我想在使用这个特定框架和语言的应用程序中实现它(不过不介意包装WinAPI调用)。 PS:我不介意系统保持对Ctrl + Ald + Del组合的控制,但我想控制所有其他键和组合,包括Windows徽标和标准应用程序启动器按钮。

在C#中向图像添加EXIF信息

我想为作者,相机模型,日期等图像添加基本的exif信息。有没有使用其他外部库的方法使用Inbuilt类来实现这一点。图像格式如JPEG,PNG,TIFF,BMP,GIF支持所有EXIF字段。

当用户选择文本时,更改TextBox高亮颜色?

我一直在寻找在用户选择文本时更改文本框高亮颜色的方法。 Windows使用蓝色作为默认颜色。 例如,在Microsoft Outlook上,当您编写邮件并选择(突出显示)文本时,背面颜色为灰色。 大家都说我需要覆盖onPaint方法,但我不知道究竟是怎么做的。 RichTextbox selectedbackground颜色不是解决方案,因为它更改了文本的颜色,而不是用户选择它时。

避免一次又一次地创建PictureBoxes

我有以下问题。 我的目的是在Windows窗体中从右向左移动多个图像。 下面的代码非常好用。 困扰我的是,每次创建PictureBox对象时,此过程都会占用大量内存。 每个图像从右到左不间断地跟随前一图像。 图像显示从一侧移动到另一侧的天空。 它应该看起来像一架飞机在空中飞舞。 如何避免使用太多内存? 我可以用PaintEvent和GDI做些什么吗? 我对图形编程不太熟悉。 using System; using System.Drawing; using System.Windows.Forms; using System.Collections.Generic; public class Background : Form { private PictureBox sky, skyMove; private Timer moveSky; private int positionX = 0, positionY = 0, width, height; private List consecutivePictures; public Background(int width, int height) { this.width = width; this.height = […]

如何在c#中使用低级键盘钩子来抑制任务切换键(winkey,alt-tab,alt-esc,ctrl-esc)

谁能告诉我如何使用c#禁用任务切换键

使用C#中的轮廓颜色设置字体

我正在代码中动态地将标签添加到面板中。 我想要做的是能够勾画出字体,使其能够从面板的背景颜色中脱颖而出。 问题是我不知道如何使用Winforms在C#中为我的字体甚至阴影效果创建轮廓。 任何人都知道我应该看什么或能指出我正确的方向? 如果您不明白我的意思,下面的图片就是我想要的:(外衬)

在C#中从父窗体的子窗体中为控件添加事件处理程序

我有两种forms。 一个是带有按钮和文本框的父表单。 单击该按钮时,对话框将打开子窗体,该子窗体又具有文本框和按钮。 现在我想要的是,当子窗体文本框中的文本更改时,父窗体文本框中的文本会自动更改。 为了获得这个我所做的是, Form3 f3 = new Form3(); f3.delBetInpTxt.TextChanged +=new EventHandler(delBetInpTxt_TextChanged); public void delBetInpTxt_TextChanged(object sender, EventArgs e) { TextBox t = (TextBox)sender; simDelTxt.Text = t.Text + ” ms”; } 我在父表单中添加了上面的代码,子表单是Form3。 但没有任何反应,即使在子窗体中的changng文本之后,父窗体文本框仍然没有改变。 我在这里做错了。

从其他窗口获取ListView项目

我正在做一些关于c#的项目。 我需要从ListView窗口获取i项目,通过做这样的事情我得到它的句柄 IntPtr par_hWnd = API.FindWindow(null, “Form1”); IntPtr child1 = API.FindWindowEx(par_hWnd, (IntPtr)0, null, null); API是我的静态类,有很多来自“user32.dll”的dllimports我能够获得这个ListView中的项目数: IntPtr count = API.SendMessage(child1, API.LVM_GETITEMCOUNT, 0, 0); 现在我需要获取item的文本,但结果必须放在LVITEM Structure中,我不知道如何正确调用SendMessage ,以及如何在c#中实现LVITEM 。 找不到c#的例子。 有帮助吗?