Страница: 1 |
|
Вопрос: Как из дочерней формы управлять объектом
|
Добавлено: 12.08.11 13:31
|
|
Автор вопроса: Валерий
|
День добрый!Помогите решить проблему:
есть главная форма (frmMain)на которой находится меню. Изначально оно недоступно.После запуска проекта появляется дочерняя форма (frmPassvord)в которую надо ввести пароль.При совпадении надо из дочерней изменить свойство MenuItem1.Enabled на true. Я раньше работал с VB6, там было всё просто , а сейчас хочу перейти на VB.NET. Подскажете решение.
Вот главная форма
Public Class frmMain
Inherits System.Windows.Forms.Form
Public MyfrmPassvord As New frmPassvord
'загрузка основной формы
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'
MyfrmPassvord.MdiParent = Me
MyfrmPassvord.Show()
End Sub
End Class
Ответить
|
Номер ответа: 2 Автор ответа: Валерий
Вопросов: 2 Ответов: 12
|
Профиль | | #2
|
Добавлено: 12.08.11 16:34
|
В VB6 никаких проблем.
А VB.NET эта строка выдает ошибку
- frmMain.MenuItem2.enabled = True
"Для ссылки на член, не используемый совместно, требуется ссылка на объект"
Ответить
|
Номер ответа: 4 Автор ответа: Валерий
Вопросов: 2 Ответов: 12
|
Профиль | | #4
|
Добавлено: 13.08.11 17:10
|
- Me.MenuItem2.enabled = True
После набора
Me.
В предложенном списке нет MenuItem2.
Усли напрямую вставить выражение, то возникает ошибка:
"MenuItem2" не является членом "frmPassford"
Ответить
|
Номер ответа: 7 Автор ответа: Валерий
Вопросов: 2 Ответов: 12
|
Профиль | | #7
|
Добавлено: 13.08.11 18:07
|
так набирай сначала меню а потом Item2 сам появится!
Не появляется
кликни item в визуале и посмотри имя, дальше пиши me.<Имя>.enabled=true
На frmMain (родительская форма) добавлено MainMenu1, свойство Modifiers=Public (видимость объекта), созданы меню MenuItem1,MenuItem2,MenuItem3.
frmPassword (дочерняя).
Вверху я показал способ вызова дочерней формы из родительской.
Может воспользоваться другим каким нибудь, чтобы можно было обратиться к объкту на родительской форме?
Предложенные варианты вызывают ошибки
Ответить
|
Номер ответа: 9 Автор ответа: Валерий
Вопросов: 2 Ответов: 12
|
Профиль | | #9
|
Добавлено: 14.08.11 11:01
|
Согласен всё работает.
Только :
Choose Project, Add MDI Form, to add an MDI form
это в VB6
Ответить
|
Номер ответа: 11 Автор ответа: Валерий
Вопросов: 2 Ответов: 12
|
Профиль | | #11
|
Добавлено: 14.08.11 13:43
|
Я работаю VS.NET 2003.
Прошу прощения за назойливость, но у меня не работает.Помогите пожалуйста разобраться.
Создал родительскую форму MDIParent1, добавил на неё MainMenu1, создал mnuShow, добавил TextBox1, добавил код
-
- Public Class MDIParent1
- Inherits System.Windows.Forms.Form
- Private Sub mnuShow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuShow.Click
- frmChild.MyShow()
- End Sub
- End Class
Под строкой frmChild.MyShow() появилось сообщение об ошибке :
Для ссылки на член, не используемый совместно, требуется ссылка на объект
Создал дочернюю ворму frmChild, добавил TextBox1, добавил Button1, добавил код
-
- Public Class frmChild
- Inherits System.Windows.Forms.Form
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
-
- MDIParent1.Show()
- MDIParent1.TextBox1.Text = Me.TextBox1.Text
- Me.Hide()
- End Sub
- Public Sub MyShow()
- Me.TextBox1.Text = MDIParent1.TextBox1.Text
- Me.Show()
-
- End Sub
- End Class
Здесь такаяже ошибка под строкой MDIParent1.Show()
Ответить
|
Номер ответа: 13 Автор ответа: Валерий
Вопросов: 2 Ответов: 12
|
Профиль | | #13
|
Добавлено: 14.08.11 18:15
|
Спасибо всем кто откликнулся.
Я пробовал писать программу на Visual Studio NET 2003. Она у меня полностью русифицирована с MSDN.
Только что попробовал создать этот проэкт в Visual Studio 2010 и не возникло никаких проблем
-
- Public Class frmChild
-
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- MDIParent1.TextBox1.Text = "Привет с frmChild!"
- End Sub
- End Class
Не понимаю какие проблемы с Visual Studio NET 2003.
Прийдется работать с VS 2010.
Ответить
|
Номер ответа: 14 Автор ответа: Валерий
Вопросов: 2 Ответов: 12
|
Профиль | | #14
|
Добавлено: 14.08.11 18:25
|
Спасибо всем кто откликнулся.
Я пробовал писать программу на Visual Studio NET 2003. Она у меня полностью русифицирована с MSDN.
Только что попробовал создать этот проэкт в Visual Studio 2010 и не возникло никаких проблем
-
- Public Class frmChild
-
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- MDIParent1.TextBox1.Text = "Привет с frmChild!"
- End Sub
- End Class
Не понимаю какие проблемы с Visual Studio NET 2003.
Прийдется работать с VS 2010.
Ответить
|
Страница: 1 |
Поиск по форуму