Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Мигание каретки


Автор: apsy 26.11.2008, 14:42
Подскажите, как отключить мигание каретки в TextBox ?

Автор: Freak_FB 26.11.2008, 18:34
Скорее всего никак. А если его отключить - как пользователь будет знать куда он вводит. А если даже предполагается ввод в одну сторону, без лишних движений курсором влево-вправо - я бы сделал вместо TextBox тот же Label. И переопределил бы для него такие события как нажатия на алфавитно-цифровые клавиши и BackSpace.

Автор: Piphon 27.11.2008, 00:36
С помощью функций WinAPI

Код

    public partial class Form1 : Form
    {
        [DllImport("user32.dll")]
        extern public static bool HideCaret(IntPtr hWnd);

        public Form1()
        {
            InitializeComponent();

            this.textBox1.GotFocus += new EventHandler(textBox1_GotFocus);
        }

        void textBox1_GotFocus(object sender, EventArgs e)
        {
            HideCaret(this.textBox1.Handle);
        }       
    }

Автор: apsy 27.11.2008, 08:35
Вот спасибо, дружище Piphon!  Коротко и ясно.

Автор: Skalik 11.2.2009, 19:18
а как сделать тоже самое только для RichTextBox??

Автор: Partizan 11.2.2009, 19:25
Skalik, ну видимо передать Handle RichTextBox-a...

Автор: Skalik 11.2.2009, 20:05
так и делал, но не работает!!!!

Автор: Лен 12.2.2009, 10:45
Попробуй через Win32API-функцию SendMessage.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)