GVKun编程网logo

System.Windows.Forms.TextBox中的水印(wpf textbox水印)

7

最近很多小伙伴都在问System.Windows.Forms.TextBox中的水印和wpftextbox水印这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展.net–System

最近很多小伙伴都在问System.Windows.Forms.TextBox中的水印wpf textbox水印这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展.net – System.Windows.Forms.Keys枚举中的“OEM”密钥是什么?、.net – System.Windows.Forms.WebBrowser:强制X86?、.net – 为什么Windows服务不能与System.Timers.Timer或System.Windows.Forms.Timer一起正常工作、.net – 如何向System.Windows.Forms.MenuItem添加图标?等相关知识,下面开始了哦!

本文目录一览:

System.Windows.Forms.TextBox中的水印(wpf textbox水印)

System.Windows.Forms.TextBox中的水印(wpf textbox水印)

System.Windows.Forms.TextBox用C#在.Net 2.0中实现Watermark功能的最佳方法是什么?


编辑:

使用CodeProject的现成组件非常容易。它还带有The Code Project Open License(CPOL)。

答案1

小编典典

最近我需要一个水印文本框,第一个出现在我头上的是文本框的OnLeave和OnEnter事件,但是首先我用Google对其进行了搜索,并且得到了两个链接,第一个是CodeProject中的一个使用System.Drawing命名空间的链接,另一个是一个是在这里http://vidmar.net/weblog/archive/2008/11/05/watermarked-
textbox-in-windows-forms-
on-.net.aspx上使用SendMessage()的。

我相信SendMessage更加容易,并且其中也没有闪烁。虽然我用过

希望对您有帮助。

.net – System.Windows.Forms.Keys枚举中的“OEM”密钥是什么?

.net – System.Windows.Forms.Keys枚举中的“OEM”密钥是什么?

朋友无法找出如何将“Ctrl”指定为ToolStripMenuItem的快捷键。我指出,Keys.OemPlus键将工作,快捷方式的显示字符串需要设置,但是键盘枚举让我感到神秘。

这些“OEM”键有什么处理?我做了一个小小的搜索,似乎是因为键只支持Win2k或更高版本,但这似乎是可笑的,因为我确定人们在Win2k几十年前一直使用plus键。为什么没有“OemEquals”?有没有其他键完全没有在键盘枚举?

我主要寻找一个为什么这些特殊值存在的答案,但我很乐意听到有关其他问题的讨论。可以肯定的是,由于加号在我的键盘上的等号上,使用Keys.OemPlus并检查Shift修饰符键是否可以告诉Ctrl =是否被点击?还有其他键被省略吗?

请注意,这不是一个WPF问题,尽管System.Windows.Forms.Keys和System.Windows.Input.Key枚举看起来是一样的(尽管Key根据框架设计指南错误命名))

它们被引入了Windows API,它们不是WPF的特有的。

首先,这些是KEY代码,而不是字符代码:它们标识键盘上的键,而不是字符。 “A”字符通常按住A键同时按住SHIFT键或使CAPS LOCK有效时生成。

OEM键是与本地键盘不同的按键。美国键盘在括号和括号中,德语键盘具有变音符号。

它们被称为“OEM”,因为原始设备制造商(键盘)负责定义其功能。

.net – System.Windows.Forms.WebBrowser:强制X86?

.net – System.Windows.Forms.WebBrowser:强制X86?

此对象始终使用系统上的默认值,因此在x64计算机上,它将使用x64 Internet Explorer对象.
有什么办法可以强迫它使用x86 IE吗?浏览器访问的网页元素在x64上不起作用,并且不受我的控制.
您可以强制Forms应用程序在Visual Studio项目的属性页中的x86中进行编译. 属性 – >构建 – >平台目标

.net – 为什么Windows服务不能与System.Timers.Timer或System.Windows.Forms.Timer一起正常工作

.net – 为什么Windows服务不能与System.Timers.Timer或System.Windows.Forms.Timer一起正常工作

我最近遇到了编写Windows服务的挑战.我需要定期请求URL并检查其可用性.为此,我决定在服务的OnStart方法中初始化一个计时器,并在timer_Tick事件中完成所有工作.

我的第一种方法是使用System.Windows.Forms.Timer及其Tick事件.我选择了它,因为我正在阅读的教程.不知怎的,我无法使服务工作.它安装并启动没有问题,但它不会触发事件(我将调试器附加到进程并看到它没有被触发).我认为在Windows服务中使用Forms计时器可能不是一个好主意,因此我决定切换到System.Timers.Timer并利用其Elapsed事件.这也不起作用.我在Windows窗体应用程序中尝试了两种提到的方法,但它们都有效.

经过一番挖掘后,我发现这个网站:http://weblogs.asp.net/sibrahim/archive/2004/01/13/58429.aspx,博主建议使用另一个计时器:System.Threading.Timer.我第三次改变了这种方法,BOOM开始像魅力一样工作.

我的问题是:为什么我不能在Windows服务中使用其他计时器,为什么找到有关它的信息这么困难?

System.Windows.Forms.Timer计时器使用UI的消息泵来编组tick事件,默认情况下服务不运行消息泵,因此没有一点额外的工作,System.Windows.Forms.Timer计时器将不会工作.

System.Timers.Timer是一个基于服务器的计时器,并在您创建它的线程上引发一个事件(我认为).如果这不起作用,也许你没有启动计时器或计时器在一个立即结束的线程上运行(因为,没有任何东西保持线程活着,所以它完成).

http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx

System.Threading.Timer计时器使用在ThreadPool线程上运行的回调,并且根本不依赖于消息泵,因此这有效.

当您在WinForms项目中运行Application.Run(myForm)时,该调用也会运行消息泵,这将管理UI消息.您提到的Windows计时器是一个UI组件,并期望消息泵运行,以便在UI线程上发生tick事件.

看看这里在Windows服务中运行消息泵:

Message pump in .NET Windows service

进一步阅读:

http://support.microsoft.com/kb/842793

总之,我只是使用System.Threading.Timer类.

.net – 如何向System.Windows.Forms.MenuItem添加图标?

.net – 如何向System.Windows.Forms.MenuItem添加图标?

我试图在我的一个上下文菜单项中添加一个图标,但我无法做到.有谁能够帮我?

这是我写的代码:

private System.Windows.Forms.ContextMenu notifyContextMenu;
 private void foo() {
            if (notifyIcon == null) {
                notifyIcon = new System.Windows.Forms.NotifyIcon();   
            }

           if (notifyContextMenu == null) {
               notifyContextMenu = new System.Windows.Forms.ContextMenu();
               notifyContextMenu.MenuItems.Add("Exit");
               // How do I add an icon to this context menu item?
             }
            notifyIcon.ContextMenu =  notifyContextMenu;
          }
     }

解决方法

MainMenu / ContextMenu已过时,您应该使用菜单条类.

更改

notifyContextMenu = new System.Windows.Forms.ContextMenu();
notifyContextMenu.MenuItems.Add("Exit");

notifyContextMenu = new System.Windows.Forms.ContextMenuStrip();
var exitMenuItem = notifyContextMenu.Items.Add("Exit");
exitMenuItem.Image = ...;

http://msdn.microsoft.com/en-us/library/system.windows.forms.toolstripitem.image.aspx

最后附上上下文菜单条来通知图标,

notifyIcon.ContextMenuStrip = notifyContextMenu;

关于System.Windows.Forms.TextBox中的水印wpf textbox水印的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于.net – System.Windows.Forms.Keys枚举中的“OEM”密钥是什么?、.net – System.Windows.Forms.WebBrowser:强制X86?、.net – 为什么Windows服务不能与System.Timers.Timer或System.Windows.Forms.Timer一起正常工作、.net – 如何向System.Windows.Forms.MenuItem添加图标?等相关内容,可以在本站寻找。

本文标签: