КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Отправка данных в активную дочернюю MDI-форму
Определение активной дочерней MDI-формы В некоторых случаях требуется иметь команду, которая бы работала с элементом управления, находящимся в фокусе в текущей активной дочерней форме. Предположим, что требуется скопировать выделенный текст из текстового поля дочерней формы в буфер обмена. Необходимо создать процедуру, которая копирует выделенный текст в буфер обмена, используя событие Click команды "Копировать" в стандартном меню "Правка". Так как в приложении с MDI-интерфейсом могут существовать несколько экземпляров одной и той же дочерней формы, процедура должна знать, какую форму использовать. Чтобы указать требуемую форму, используйте свойство ActiveMdiChild, которое возвращает дочернюю форму, которая находится в фокусе или использовалась самой последней. Если в форме существуют несколько элементов управления, требуется также указать активный элемент. Подобно свойству ActiveMdiChild свойство ActiveControl возвращает элемент управления с фокусом на активной дочерней форме. Следующая процедура служит примером процедуры копирования, которую можно вызвать из меню дочерней формы, из меню формы с MDI-интерфейсом или с помощью кнопки в панели инструментов. В этом примере предполагается, что существует родительская форма MDI (Form1), которая имеет одну или несколько дочерних MDI-окон, содержащих элемент управления RichTextBox. protected void mniCopy_Click (object sender, System.EventArgs e){ // Determine the active child form. Form activeChild = this.ActiveMdiChild; // If there is an active child form, find the active control, which // in this example should be a RichTextBox. if (activeChild!= null) { try { RichTextBox theBox = (RichTextBox)activeChild.ActiveControl; if (theBox!= null) { // Put the selected text on the Clipboard. Clipboard.SetDataObject(theBox.SelectedText); } } catch { MessageBox.Show("You need to select a RichTextBox."); } }}Часто в контексте приложений с многодокументным интерфейсом (MDI) требуется отправить данные в активное дочернее окно. Например, это требуется в том случае, если пользователь вставляет данные из буфера обмена в приложение с MDI-интерфейсом. Чтобы отправить данные в активную дочернюю MDI-форму из буфера обмена. В этом примере предполагается, что существует родительская форма MDI (Form1), которая имеет одну или несколько дочерних MDI-окон, содержащих элемент управления RichTextBox. protected void mniPaste_Click (object sender, System.EventArgs e){ // Determine the active child form. Form activeChild = this.ParentForm.ActiveMdiChild; // If there is an active child form, find the active control, which // in this example should be a RichTextBox. if (activeChild!= null) { try { RichTextBox theBox = (RichTextBox)activeChild.ActiveControl; if (theBox!= null) { // Create a new instance of the DataObject interface. IDataObject data = Clipboard.GetDataObject(); // If the data is text, then set the text of the // RichTextBox to the text in the clipboard. if (data.GetDataPresent(DataFormats.Text)) { theBox.SelectedText = data.GetData(DataFormats.Text).ToString(); } } } catch { MessageBox.Show("You need to select a RichTextBox."); } }}
Дата добавления: 2014-01-04; Просмотров: 269; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |