Установить форму как родительское исключение исключения «Элемент верхнего уровня не может быть добавлен к элементу управления»
Я хочу получить доступ к переменным формы из другой формы. Нажав кнопку внутри моей основной формы, я хочу установить свою основную форму как родительскую, а затем вызвать другую форму (дочернюю форму), в которой я получу доступ к переменным основной формы. Мой обработчик кликов выглядит следующим образом:
Он компилируется нормально, без ошибок. Однако когда я запускаю основную форму и нажимаю кнопку «Система», у меня возникает исключение. Я делаю что-то подобное в другом коде (не в моем) с тем же нажатием кнопки и не обнаруживаю ошибок (просто установив основную форму как родительскую).
Что я делаю не так? Есть ли что-то в моем основном коде, что вызывает это?
6 ответов
При таком написании диалоговое окно отображается в центре родительской формы.
У меня недавно была похожая ситуация. Я пытался сделать что-то подобное, но управляя дочерними формами из другого класса.
Примечание. Вы пытаетесь установить для дочерних форм «TopMost» что-то, что не позволяет этого.
В данном случае это «MdiContainer».
Для этого:
• Отключить свойство MainForm «isMdiContainer» (в любом случае его использование устарело).
• Задайте для свойств формы TopMost значение true.
• Теперь вы можете реализовать свою функцию.
то есть:
Попробуйте так, мне это помогает. вам нужно установить основную форму как isMdicontainer = true в свойствах формы
А потом я могу позвонить
Или если я определю переменную в свойствах пространства имен, тогда
Вам нужно, чтобы для свойства EP.TopLevel было установлено значение false. Это позволит вам установить для него родителя.
Если вы хотите получить доступ только к переменным и элементам управления другой формы, возможно, вы сможете получить доступ к нему другими способами, а не через родительские отношения.
Элемент управления верхнего уровня не может быть добавлен к элементу управления
Как загрузить другую форму внутри панели в первичную форму.
я пытался что-то вроде
но он бросает исключение Top-level control cannot be added to a control в строке pnl.Controls.Add(objForm);
3 ответа
У меня есть веб-сайт, доступ к которому можно получить с www.blahblah.com и special.blahblah.com. Сайт www всегда работает, но иногда я получаю ошибку элементы управления контентом должны быть элементами управления верхнего уровня на странице контента или вложенной главной странице, которая.
Вам не хватает objForm.TopLevel = false;
Я сделал следующее:
Наконец, на выбранной вкладке изменение индекса:
Похожие вопросы:
Я хочу создать пользовательский элемент управления, расширив существующий элемент управления. На самом деле, я хочу добавить некоторые функции к исходному элементу управления. Как я могу добавить.
Я хочу получить идентификатор diff элементов управления через скрипт java??любой элемент управления может быть добавлен Пользователем в форму java скрипт вернет тип элемента управления для ex.
У меня есть веб-сайт, доступ к которому можно получить с www.blahblah.com и special.blahblah.com. Сайт www всегда работает, но иногда я получаю ошибку элементы управления контентом должны быть.
Я написал пользовательский элемент управления Leaflet. Это своего рода легенда, которая может быть добавлена для каждого слоя. Сам элемент управления имеет кнопку закрытия, чтобы удалить его с карты.
У меня есть следующий сценарий Word: текстовый документ с некоторыми элементами управления содержимым (также текст) элементы управления содержимым всегда находятся рядом с обычным текстом (без.
Я работаю над проектом C#. Проблема в том, что фоновые события, такие как mouse-enter, заставляют фоновое окно выскакивать в фокусе, когда оно не является активным окном. Стратегия решения состоит в.
Установить форму как родительское исключение броска » элемент управления верхнего уровня не может быть добавлен к элементу управления»
Я хочу получить доступ к переменным формы из другой формы. При нажатии кнопки внутри моей основной формы я хочу установить свою основную форму в качестве родительской, а затем вызвать другую форму (дочернюю форму), в которой я буду получать доступ к переменным основной формы. Мой обработчик кликов выглядит следующим образом:
Он прекрасно компилируется без каких-либо ошибок. Однако, когда я запускаю основную форму и нажимаю на системную кнопку, она выдает мне исключение. Я делаю что-то подобное в другом коде (не моем) с тем же нажатием кнопки и не сталкиваюсь с ошибкой (просто с установкой основной формы в качестве родительской).
Что я делаю не так? Есть ли что-то в моем основном коде, что вызывает это?
6 ответов
Я работаю над пользовательским элементом управления, который будет принимать и проверять адрес. Все адреса находятся в пределах определенного домена (в частности, Австралия). В пользовательском элементе управления адресом у меня есть три поля: пригород, штат и почтовый индекс (он же код zip).
Я хочу получить идентификатор diff элементов управления через скрипт java??любой элемент управления может быть добавлен Пользователем в форму java скрипт вернет тип элемента управления для ex textbox, label и его ID
Вам нужно, чтобы свойство EP.TopLevel было установлено в значение false. Это позволит вам установить для него родителя.
В случае, если вы хотите получить доступ только к переменным и элементам управления другой формы, возможно, вы сможете достичь ее другими способами, а не через родительские отношения.
Хорошо, по-видимому, способ сделать это-позвонить
и тогда я смогу позвонить
или если я определю aVariable в свойствах пространства имен, то
попробуй так, мне это поможет. вам нужно установить principalform как isMdicontainer = true в свойствах формы
Недавно у меня была похожая ситуация. Я пытался сделать что-то подобное, но контролируя Дочерние формы из другого класса.
Примечание(ы): Вы пытаетесь установить дочернюю форму(ы) «TopMost» на что-то, что не позволяет этого.
В этом случае «MdiContainer».
Для достижения этой цели:
• Отключите свойство MainForm «isMdiContainer» (его использование в любом случае устарело).
• Установите для свойств формы (форм) TopMost значение true.
• Теперь вы должны быть в состоянии выполнить свою функцию.
то есть:
У меня есть веб-сайт, доступ к которому можно получить с www.blahblah.com и special.blahblah.com. Сайт www всегда работает, но иногда я получаю ошибку элементы управления контентом должны быть элементами управления верхнего уровня на странице контента или вложенной главной странице, которая.
У меня есть форма с treeview на одной стороне. В зависимости от того, какой узел выбран, я хочу отображать различное содержимое справа. Чтобы сохранить управляемость кодом и элементами управления, мой план состоял в том, чтобы изолировать содержимое в отдельные формы и отобразить форму внутри.
Написав таким образом, сделал диалоговое окно отображаемым в центре родительской формы.
Похожие вопросы:
Я хочу создать пользовательский элемент управления, расширив существующий элемент управления. На самом деле, я хочу добавить некоторые функции к исходному элементу управления. Как я могу добавить.
У нас есть проект дизайнера отчетов, который использует активные отчеты. Мы хотим использовать инструмент SubReport активных отчетов. Элемент управления вложенным отчетом имеет свойство report.
Я работаю над пользовательским элементом управления, который будет принимать и проверять адрес. Все адреса находятся в пределах определенного домена (в частности, Австралия). В пользовательском.
Я хочу получить идентификатор diff элементов управления через скрипт java??любой элемент управления может быть добавлен Пользователем в форму java скрипт вернет тип элемента управления для ex.
У меня есть веб-сайт, доступ к которому можно получить с www.blahblah.com и special.blahblah.com. Сайт www всегда работает, но иногда я получаю ошибку элементы управления контентом должны быть.
У меня есть форма с treeview на одной стороне. В зависимости от того, какой узел выбран, я хочу отображать различное содержимое справа. Чтобы сохранить управляемость кодом и элементами управления.
Как загрузить другую форму внутри панели в первичную форму. я пытался что-то вроде private void frmInitialEntryBooks_Load(object sender, EventArgs e) < frmSujbect objForm = new frmSujbect();.
Я работаю над проектом C#. Проблема в том, что фоновые события, такие как mouse-enter, заставляют фоновое окно выскакивать в фокусе, когда оно не является активным окном. Стратегия решения состоит в.
Устранение неполадок с созданием элементов управления и компонентов
В этом разделе перечислены следующие распространенные проблемы, возникающие при разработке компонентов и элементов управления.
Не удается добавить элемент управления на панель элементов
Не удается выполнить отладку пользовательского элемента управления или компонента Windows Forms
Событие в производном элементе управления или компоненте вызывается дважды
Ошибка времени разработки: «Не удалось создать компонент имя компонента«
Значок компонента не отображается на панели элементов
Не удается добавить элемент управления на панель элементов
Если вы хотите добавить на панель элементов настраиваемый элемент управления, созданный в другом проекте, или сторонний элемент управления, это необходимо сделать вручную. Если ваш элемент управления или компонент уже находится в текущем проекте, он отобразится на панели элементов автоматически. Дополнительные сведения см. в разделе Пошаговое руководство. Автоматическое заполнение панели элементов пользовательскими компонентами.
Добавление элемента управления на панель элементов
Щелкните панель инструментов правой кнопкой мыши и выберите команду Выбрать элементы.
Добавьте компонент в диалоговом окне Выбор элементов панели элементов.
Чтобы добавить COM-компонент или элемент управления ActiveX, откройте вкладку COM-компоненты.
Если элемент управления указан в диалоговом окне, выделите его и нажмите кнопку ОК.
Элемент управления будет добавлен на панель элементов.
Если элемент управления не указан в диалоговом окне, выполните следующие действия.
Найдите папку с DLL-файлом, содержащим ваш элемент управления.
Выберите этот DLL-файл и нажмите кнопку Открыть.
Элемент управления отобразится в диалоговом окне.
Выберите элемент управления и нажмите кнопку ОК.
Элемент управления будет добавлен на панель элементов.
Не удается выполнить отладку пользовательского элемента управления или компонента Windows Forms
Если элемент управления является производным от UserControl класса, можно отладить его поведение во время выполнения с тестовым контейнером. Дополнительные сведения см. в разделе как проверить поведение Run-Time UserControl.
Другие настраиваемые элементы управления и компоненты не являются автономными проектами и должны размещаться в приложении, таком как проект Windows Forms. Для выполнения отладки элемент управления или компонент необходимо добавить в проект Windows Forms.
Отладка элемента управления или компонента
В меню Сборка выберите пункт Сборка решения, чтобы создать решение.
В меню Файл выберите пункт Добавить, и затем Новый проект, чтобы добавить в приложение тестовый проект.
В диалоговом окне Добавление нового проекта выберите в качестве типа проекта Приложение Windows.
В обозревателе решений щелкните узел Ссылки для своего нового проекта правой кнопкой мыши. В контекстном меню выберите пункт Добавить ссылку, чтобы добавить ссылку на проект, содержащий элемент управления или компонент.
Создайте экземпляр элемента управления или компонента в тестовом проекте. Если компонент находится на панели элементов, его можно перетащить в область конструктора или создать экземпляр программными средствами, как показано в следующем примере кода.
После этого отладку элемента управления или компонента можно выполнить в обычном режиме.
Событие в производном элементе управления или компоненте вызывается дважды
Ошибка времени разработки: «Не удалось создать компонент ‘имя компонента'»
Компонент или элемент управления должен предоставлять конструктор без параметров без аргументов. Если в среде разработки создается экземпляр компонента или элемента управления, он не пытается предоставить какие-либо параметры для перегрузок конструктора, принимающих параметры.
STAThreadAttribute
Значок компонента не отображается на панели элементов
При использовании ToolboxBitmapAttribute для связывания значка с пользовательским компонентом точечный рисунок не отображается на панели элементов для автоматически сформированных компонентов. Чтобы увидеть растровое изображение, перезагрузите элемент управления с помощью диалогового окна Выбор элементов панели элементов. Дополнительные сведения см. в разделе Практическое руководство. Предоставление точечного рисунка панели элементов для элемента управления.
Как добавить элементы управления содержимым в документы Word
В проектах на уровне документа Word элементы управления содержимым можно добавлять в документ во время разработки или во время выполнения. В проектах надстройки VSTO для Word элементы управления содержимым можно добавлять в любой открытый документ во время выполнения.
В этом разделе описываются следующие задачи.
Дополнительные сведения об элементах управления содержимым см. в разделе элементы управления содержимым.
Добавление элементов управления содержимым во время разработки
Вы можете добавить элементы управления содержимым в документ Word в проекте на уровне документа во время разработки несколькими способами.
Добавьте элемент управления содержимым из вкладки Элементы управления Word****панели элементов.
Добавьте элемент управления содержимым в документ так же, как вы добавляете управляемый элемент управления содержимым в Word.
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.
Добавление элемента управления содержимым в документ с помощью панели элементов
Добавьте элемент управления одним из следующих способов.
Дважды щелкните элемент управления содержимым в панели элементов.
или диспетчер конфигурации служб
или диспетчер конфигурации служб
Перетащите элемент управления содержимым из панели элементов в документ. Элемент управления содержимым добавляется в текущее выделение в документе, а не в позиции указателя мыши.
Невозможно добавить GroupContentControl с помощью панели элементов. GroupContentControl можно добавлять только в Word или во время выполнения.
Visual Studio не предоставляет элемент управления содержимым «Флажок» в панели элементов. Чтобы добавить элемент управления содержимым «Флажок» в документ, необходимо создать ContentControl программно. Дополнительные сведения см. в разделе элементы управления содержимым.
Добавление элемента управления содержимым «Флажок» в документ из Word
Если вкладка Разработчик не отображается, сделайте ее видимой. Дополнительные сведения см. в разделе инструкции. Отображение вкладки разработчика на ленте.
В группе Элементы управления щелкните значок элемента управления содержимым, который требуется добавить.
Добавление элементов управления содержимым во время выполнения в проекте уровня документа
Элементы управления содержимым можно добавить в документ программным образом во время выполнения с помощью методов свойства Controls класса ThisDocument в проекте. У каждого метода есть три перегрузки, которые можно использовать для добавления элемента управления содержимым следующими способами:
добавление элемента управления в текущее выделение;
добавление элемента управления в указанный диапазон;
добавление элемента управления, основанного на управляемом элементе управления содержимым, в документ.
При закрытии документа динамически созданные элементы управления содержимым не сохраняются в документе. Однако неуправляемый элемент управления содержимым остается в документе. Можно повторно создать элемент управления содержимым, основанный на управляемом элементе управления содержимым, при очередном открытии документа. дополнительные сведения см. в разделе добавление элементов управления в Office документы во время выполнения.
Добавление элемента управления содержимым в текущее выделение
Используйте ControlCollection метод с именем Add (где Control class — это имя класса элемента управления содержимым, который вы хотите добавить, например AddRichTextContentControl ), и у которого есть единственный параметр для имени нового элемента управления.
Добавление элемента управления в указанный диапазон
Используйте ControlCollection метод с именем Add (где Control class — это имя класса элемента управления содержимым, который вы хотите добавить, например AddRichTextContentControl ), и у которого есть Range параметр.
Добавление элемента управления содержимым, основанного на управляемом элементе управления содержимым
Используйте ControlCollection метод с именем Add (где Control class — это имя класса элемента управления содержимым, который вы хотите добавить, например AddRichTextContentControl ), и у которого есть Microsoft.Office.Interop.Word.ContentControl параметр.
добавление элементов управления содержимым во время выполнения в проекте надстройки VSTO
добавление элемента управления в текущее выделение;
добавление элемента управления в указанный диапазон;
добавление элемента управления, основанного на управляемом элементе управления содержимым, в документ.
При закрытии документа динамически созданные элементы управления содержимым не сохраняются в документе. Однако неуправляемый элемент управления содержимым остается в документе. Можно повторно создать элемент управления содержимым, основанный на управляемом элементе управления содержимым, при очередном открытии документа. дополнительные сведения см. в разделе сохранение динамических элементов управления в Office документах.
дополнительные сведения о создании ведущих элементов в проектах надстроек VSTO см. в разделе расширение документов Word и Excel книг в VSTO надстроек во время выполнения.
Добавление элемента управления содержимым в текущее выделение
Используйте ControlCollection метод с именем Add (где Control class — это имя класса элемента управления содержимым, который вы хотите добавить, например AddRichTextContentControl ), и у которого есть единственный параметр для имени нового элемента управления.
Добавление элемента управления в указанный диапазон
Используйте ControlCollection метод с именем Add (где Control class — это имя класса элемента управления содержимым, который вы хотите добавить, например AddRichTextContentControl ), и у которого есть Range параметр.
Добавление элемента управления содержимым, основанного на управляемом элементе управления содержимым
Используйте ControlCollection метод с именем Add (где Control class — это имя класса элемента управления содержимым, который вы хотите добавить, например AddRichTextContentControl ), и у которого есть Microsoft.Office.Interop.Word.ContentControl параметр.
В следующем примере кода метод AddRichTextContentControl используется для создания нового объекта RichTextContentControl для каждого управляемого элемента управления форматированием текста в документе после его открытия. Для выполнения этого кода добавьте код в класс ThisAddIn в проекте.



