Existe-t-il une manière élégante de définir des tailles/positions de tabulations personnalisées dans une zone de texte multiligne en C#?À l'aide de C#, comment définir les positions d'onglet dans une zone de texte multiligne?
5
A
Répondre
10
Vous devez envoyer le message EM_SETTABSTOPS, comme ceci:
static class NativeMethods {
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, ref int lParam);
}
static void SetTabs(TextBox box) {
//EM_SETTABSTOPS - http://msdn.microsoft.com/en-us/library/bb761663%28VS.85%29.aspx
int lParam = 16; //Set tab size to 4 spaces
NativeMethods.SendMessage(box.Handle, 0x00CB, new IntPtr(1), ref lParam);
box.Invalidate();
}
+0
Man ... vous pouvez trouver quelques bons sites de tidbits. –
0
Outre par vb 2013, les gens sympathiques de Microsoft ont décidé que vous ne avez plus besoin des fenêtres poignée et vous ne pouvez plus nous mettre au travail.
WinForms ou WPF? (Notez que je ne peux pas vraiment dire si cela fera une différence!) – AakashM
Voir http://stackoverflow.com/questions/1298406/how-to-set-the-tab-width-in-a-windows-forms -textbox-control –
Basé sur ses autres questions, probablement WinForms. – SLaks