в списке событий окна Properties
Для реализации операции Drag-and-Drop в списке событий окна Properties элемента RichTextBox нет нужных нам событий DragDrop и DragEnter, поэтому в области Windows Form Designer generated code нам придется объявить обработчиков для этих событий:
// // richTextBox1 // … this.richTextBox1.DragDrop += new System.Windows.Forms.DragEventHandler (this.richTextBox1_DragDrop); this.richTextBox1.DragEnter += new System.Windows.Forms.DragEventHandle r(this.richTextBox1_DragEnter);
Делаем проверку на соответствие формату String:
private void richTextBox1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.Text)) e.Effect = DragDropEffects.Copy; else e.Effect = DragDropEffects.None; }
Элемент RichTextBox может содержать текст, который нам следует не замещать, а добавлять к нему перетаскиваемый фрагмент. Поэтому обработчик события DragDrop будет немного сложнее:
private void richTextBox1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) { int i; String s;
// Определяем начальную позиция для текста i = richTextBox1.SelectionStart; s = richTextBox1.Text.Substring(i); richTextBox1.Text = richTextBox1.Text.Substring(0,i);
// Перетаскиваем текст richTextBox1.Text = richTextBox1.Text + e.Data.GetData(DataFormats.Text).ToString(); richTextBox1.Text = richTextBox1.Text + s; }
Запускаем приложение. Теперь можно перетаскивать текст из верхнего текстового поля в нижнее, а в элемент RichTextBox — даже фрагмент текста из Microsoft Word (рис. 3.2):

увеличить изображение
Рис. 3.2. Приложение DragAndDrop, перетаскивание фрагмента текста из Microsoft Word
На диске, прилагаемом к книге, вы найдете приложение DragAndDrop (Code\Glava3\ DragAndDrop).
on_load_lecture()




1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
вопросы | »
учебники
|
для печати и PDA



Курсы | Учебные программы | Учебники | Новости | Форум | Помощь Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование |