创建一个文本框“提示"两个不同文本框的消息(水印) [英] Create a textbox "hint" message for two different textboxes(watermark)

查看:27
本文介绍了创建一个文本框“提示"两个不同文本框的消息(水印)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道如何为表单中的两个不同文本框创建提示"?

I was wondering how to create a "hint" for two different textboxes in a form?

这是我的代码:

导入 System.Runtime.InteropServices

Form_Load 事件:

SendMessage(Me.txtAmount.Handle, &H1501, 0, "$X.XX")
SendMessage(Me.txtMemo.Handle, &H1501, 0, "Enter a transaction memo.")

<小时>

共享功能:

<DllImport("user32.dll", CharSet:=CharSet.Auto)> _
    Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As Integer, <MarshalAs(UnmanagedType.LPWStr)> ByVal lParam As String) As Int32
    End Function

此代码仅适用于 txtAmount 文本框.知道如何让两个人以一种形式工作吗?

This code is only working for the txtAmount textbox. Any idea how to get two working in one form?

谢谢.

推荐答案

创建一个类:

Public Class MultilineTextBoxWaterMark
Inherits TextBox

Private Const WM_PAINT = &HF

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
    MyBase.WndProc(m)

    If m.Msg = WM_PAINT Then
        If Text.Length <> 0 Or Me.Focused Then
            Return
        End If
        Using g As Graphics = Me.CreateGraphics, format As New StringFormat()
            format.LineAlignment = StringAlignment.Near

            g.DrawString("Enter a transaction memo.", Me.Font, Brushes.LightGray, Me.ClientRectangle, format)
        End Using
    End If
End Sub

End Class

然后在您的主要表单中:

Then in your main form:

Private MltLnTxtBxWrMrk As New MultilineTextBoxWaterMark

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    MltLnTxtBxWrMrk.Location = New Point(100, 30) 'whatever you want
    MltLnTxtBxWrMrk.Width = 300 'whatever you want
    MltLnTxtBxWrMrk.Height = 100 'whatever you want
    MltLnTxtBxWrMrk.BorderStyle = BorderStyle.Fixed3D 'whatever you want
    MltLnTxtBxWrMrk.Multiline = True

    Me.Controls.Add(MltLnTxtBxWrMrk)
End Sub

我认为它有效.谢谢

这篇关于创建一个文本框“提示"两个不同文本框的消息(水印)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆