Есть ли в winforms текстовые поля какие-либо свойства, которые делают встроенную кнопку, в конце окна, возможной?Кнопка внутри текстового поля winforms
Что-то вроде кнопки избранного на Chrome поле Адрес:
Я также видел что-то вроде следующего в некоторых формах Excel:
EDIT
Я последовал ответ Ганса Passant с добавлением обработчика событий нажмите и, кажется, работает нормально:
protected override void OnLoad(EventArgs e) {
var btn = new Button();
btn.Size = new Size(25, textBoxFolder.ClientSize.Height + 2);
btn.Location = new Point(textBoxFolder.ClientSize.Width - btn.Width, -1);
btn.Cursor = Cursors.Default;
btn.Image = Properties.Resources.arrow_diagright;
btn.Click += btn_Click;
textBoxFolder.Controls.Add(btn);
// Send EM_SETMARGINS to prevent text from disappearing underneath the button
SendMessage(textBoxFolder.Handle, 0xd3, (IntPtr)2, (IntPtr)(btn.Width << 16));
base.OnLoad(e);
}
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
private void btn_Click(object sender, EventArgs e) {
MessageBox.Show("hello world");
}
@ Highcore, вы безнадежный однопоточный пони. Добавьте тэг [winforms] к вашим игнорированным тегам, я больше не хочу видеть ваши wpf rants. –
@HighCore Я уже говорил вам то же самое, что говорит Ганс. Я настоятельно рекомендую вам просто избегать вопросов WinForms с этого момента. –
@ HansPassant .... Я только что вернулся из отпуска и догнал вопросы - похоже, вы, хорошие люди, напугали его! – whytheq