Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток всем ! Подскажите, как избавиться от сообщения об ошибке при закрытии формы, содержащей ListBox. Сообщение такое: exeption of type 'System.ObjectDisposedExeption' occurred in System.Windows.form.dll Additional infomation: Cannot access a disposed object named 'ListBox'. Как я понимаю не освобождаются какие-то ресурсы ListBox при закрытии формы. Что делать люди ? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 15:14 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
Да, что-то плохи мои дела. Ну, попробую уточнить вопрос, может кто подскажет. В форме на выбор элемента листбокса висит Me.Close. В этом случае при Debug-Start и выбор элемента ListBox вылезает это проклятое сообщение. Если Me.Close навесить на отдельную кнопку, то по клику на неё форма нормально закрывается без каких-либо сообщений. Но мне надо закрывать эту форму именно сразу после выбора элемента ListBox без каких-либо промежуточных действий. Помогите пожалуйста !!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 10:57 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
Проектик можешь маленький сделать и прикрепить в виде файла к своему сообщению? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 11:21 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
А код этого события полностью нельзя посмотреть (выбора ListBox)??? А то, как то трудно искать чёрную кошку в чёрной комнате (особенно, если...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 11:24 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
Привожу код формы, кроме кода, сгененрированного мастером: Private Sub startForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Try Dim connect As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection Dim cm As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand connect.ConnectionString = cn.strSQL cm.CommandType = CommandType.StoredProcedure cm.CommandText = "UP_AutenUser" 'ХП, определяющая роли (в данном случае - компании), в которых участвует текущий юзер cm.Connection = connect Dim IntCoun As String Dim myReader As SqlClient.SqlDataReader connect.Open() myReader = cm.ExecuteReader() Me.ListBox1.BeginUpdate() While myReader.Read() IntCoun = myReader.GetString(0) Me.ListBox1.Items.Add(IntCoun) End While Me.ListBox1.EndUpdate() myReader.Close() connect.Close() Catch exc As Exception MsgBox(exc.Message) End Try End Sub Dim frm As Form = New BasicCover Private Sub ListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Click cn.strGroupUser = Me.ListBox1.SelectedItem Me.Close() frm.Show() End Sub Заранее прошу не бить, если что на так - я ещё чайник, пытающийся перейти на net с Access. 2Sa Проект не могу приделать, поскольку данные в ListBox затягиваются ХП SQL. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 12:04 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
А общий смысл какой? Поподробнее опишите что как должно работать. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 12:13 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
2Sa Да, именно так. Т.е. если брать всё, то присвоить переменной выбранное значение ListBox, закрыть текущую форму и открыть другую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 12:22 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
>Да, именно так. Т.е. если брать всё, то присвоить переменной выбранное значение ListBox, закрыть текущую форму и открыть другую. Хочу вникнуть дальше. А если пользователь взял и ошибся в выборе значения, все поезд получается уехал? Текущая форма модальная или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 12:28 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
Форма немодальная ... пока ... хотя по её назначению её такой надо бы сделать. Ошибся в выборе... мммм ... то , что ему не положено, в листбоксе он вообще не увидит, т.е куда не следует не попадёт и некорректного значения тоже не будет. А по поводу того, что просто промазал мышью, тогда может действительно запросить подтверждение и закрыть форму отдельной кнопкой. Ну ладно, допустим так и сделаю, но вопрос-то всё равно остаётся и мне, как чайнику, интересно знать, как из подобных ситуаций выбираться . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 12:39 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
>Ну ладно, допустим так и сделаю, но вопрос-то всё равно остаётся и мне, как чайнику, интересно знать, как из подобных ситуаций выбираться . ИМХО избегать подобные ситуации При первом приближении у вас должно быть что то подобное: 1) Форма модальная 2) При выборе ListBox и дальнейшего подтверждения, форму закрываем, ВНИМАНИЕ: Код по открытию новой формы находиться в хозяине модальной форме, то есть той формы которая вызывает эту. То есть примерно так. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Переменную Выбранное_значение_такое_то и Закрыли_и_выбрали_значение нужно объявить как минимум с модификатором Friend. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 12:59 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
Спасибо большое, примерно так и буду делать. А всё-таки, извините за дотошность, что это за проклятое сообщение и почему оно вылезает ? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 13:34 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
>Спасибо большое, примерно так и буду делать. А всё-таки, извините за дотошность, что это за проклятое сообщение и почему оно вылезает ? Не сталкивался с этим, есть некоторые предположения, обещаю будет время посмотрю ваш код поподробнее. Что то прочитал свой пост предыдущий - немного сумбурно написал, так что если будут вопросы - пишите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 13:45 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
От сообщения избавился, но теперь при закрытии модальной формы F1 закрывается и вызванная ей форма F2, если не установить F2.ShowDialog(), так и должно быть ? Но F2 мне модальной не нужна. Как быть ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 16:27 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
>От сообщения избавился, но теперь при закрытии модальной формы F1 закрывается и вызванная ей форма F2, если не установить F2.ShowDialog(), так и должно быть ? Но F2 мне модальной не нужна. Как быть ? Давайте сначала разберемся кто у нас F1, кто F2. Итак если я правильно понял: У нас есть формы mainForm (главная форма), F1, F2. Из mainForm вызываем модальную F1. На F1 у нас находится ListBox. Выбираем значение из ListBox в F1. Пользователь соглашается и вызываем F2. Которая не должна быть модальной. Такая постановка или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 19:52 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
Пацаны, постараюсь внести ясность (как я понял эту проблему) В форме, которая запускается первой, проверяешь значение которое требуется узнать - если оно равно - неизвестно чему типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. А, во второй форме пишешь так: Код: plaintext 1. 2. 3. 4. Запускаешь и радуешься Если, изначально, значение m не равно чему надо. запустится первой форма 2, в ней присвоим значение m, и она пропадёт, затем появится форма1 Вот и ВСЁ... Кстати, дико удобно искать access базу данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 21:57 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
2Sa Да, всё почти так, только модальная форма F1 вызывается Sub Main, остальное всё так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 22:24 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
sposad>>> А не можешь мне разъяснить, как решить задачу??? Есть одна главная форма Назовём её "набор имён" На ней три кнопки Вася Петя Анна Как при помощи этих кнопок вызвать форму с названным именем, погасив главную форму, поработать с ней и опять поднять главную, что бы вызвать следующую форму с именем???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 23:33 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
2vladgrid Родной ! Если прикалываешься, то брось - не смешно, да и некорректно вопросом отвечать на вопрос. Если серьёзно, то вынеси это в отдельный топик, народ поможет. А я ... сам плаваю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 00:13 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
Просто, то над чем Вы "sposad" боролись с самого начала, "Sa" ответил (очень правильно, но действительно немного сумбурно), а я, просто постарался внести ясность в эту сумбурность, но сама идея от этого, на мой взгляд не пострадала. Не надо делать Sub main для F1, форма и так появится после того как в другой форме произведём определённые действия. Также в форме F2 при помощи вот этого Me.DialogResult.OK Можно любому событию присвоить значение ответа (не нужно делать отдельных кнопок для подтверждения, а можно использовать Ваше событие Click по листбоксу или ещё что нибудь) P.S. А задачку попробуйте решить, у меня так до сих пор и неполучилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 06:28 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
Я правильно понял задачу: При загрузке приложения появляется F1 с ListBox для выбора определенного значения. После того как пользователь выбрал значение из ListBox нажал кнопку OK. Появляется F2 в которую передается выбранное пользователем значение. И форма F1 закрывается навсегда Мы продолжаем работать с F2 и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 14:01 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
2vladgrid Эта задача на VBA в Access решается по-моему достаточно просто, по крайней мере такое часто приходилось делать. На VB с его классами и наследованием мне пока тяжело. 2Sa Всё именно так, но у меня чего-то пока не получается, ковыряюсь дальше... тяжко перестроиться под vb.net, блин, сдохну, но сделаю ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 15:42 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
vladgrig Есть одна главная форма Назовём её "набор имён" На ней три кнопки Вася Петя Анна Как при помощи этих кнопок вызвать форму с названным именем, погасив главную форму, поработать с ней и опять поднять главную, что бы вызвать следующую форму с именем???? Смотрите прикрепленный проект, возможно это то что вам надо. По крайне мере так я понял вашу задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 15:45 |
|
||
|
Ошибка при закрытии формы.
|
|||
|---|---|---|---|
|
#18+
2 sposad Sa Я правильно понял задачу: При загрузке приложения появляется F1 с ListBox для выбора определенного значения. После того как пользователь выбрал значение из ListBox нажал кнопку OK. Появляется F2 в которую передается выбранное пользователем значение. И форма F1 закрывается навсегда Мы продолжаем работать с F2 и т.д. Если я все таки правильно понял задачу, смотрите прикрепленный проект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2004, 15:51 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32549373&tid=1439049]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
16ms |
get forum data: |
5ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 262ms |
| total: | 443ms |

| 0 / 0 |
