- - PR -
テキストボックスの行数制限
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-03-13 21:17
バージョン:VB2005 OS:WindowsXP
TextBox.Multiline=True TextBox.WordWrap=False 複数行で折り返しありのテキストの入力制限をしているのですが、 ある行数までいくと入力できないようにするにはどうしたらいいですか? TextBox.Lines.Lengthで行数は取れますが、折り返しも含めた行数が知りたいんです。 よろしくお願いします。 | ||||
|
投稿日時: 2007-03-13 23:05
折り返しがあるのであれば、 TextBox.WordWrap = True ですよね。 折り返しを含めた行数の取得は、 Win32API の SendMessage 関数を使用して、 EM_GETLINECOUNT = 0x00BA を渡してやれば取得できそうです。 | ||||
|
投稿日時: 2007-03-14 14:47
すみません。TrueとFalseを書き間違えてました。
<System.Runtime.InteropServices.DllImport("User32.Dll")> _ Private Shared Function SendMessage(ByVal hWnd As IntPtr, _ ByVal Msg As Integer, _ ByVal wParam As Integer, _ ByVal lParam As Integer) As Integer End Function Private Const EM_GETLINECOUNT As Integer = &HBA SendMessage(TextBox1.Handle,EM_GETLINECOUNT, 0&, 0&) 上記のコードで一応制限できました。KeyDown,KeyPressでの処理がうまくいってないのでまだ思い通りの動きをしてくれませんが…(笑)もう少し考えて制御してみます。 ダッチさん、ありがとうございました。 |
1