Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Visual Basic 2008

Ответить
Настройки темы
VBA - Visual Basic 2008

Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Uzvern
Дата: 24-04-2008
Описание: Забыл дописать название темы. Прошу простить.
Подскажите как сделать так : допустим, если нажать на форме правой кнопкой мыши, то вылетет MsgBox(123), а если нажать левой, то MsgBox(098).

Спасибо за внимание.

>>Блин, не дописал в названии темы : Действие при нажатии правой кнопки

Отправлено: 17:47, 24-04-2008

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


В смысле добавить объекты? ПРограммно, чтобы при загрузке формы добавлялись объекты эти? А сразу нарисовать их не проще? Вы же добавляете дефолтные объекты.
А вообще, вот цитата с MSDN
Цитата:
The following code example adds two Control objects to the Control..::.ControlCollection of the derived class Panel. The example requires that you have created a Panel control and a Button control on a Form. When the button is clicked, two RadioButton controls are added to the panel's Control..::.ControlCollection.

Visual Basic Copy Code
' Create two RadioButtons to add to the Panel.
Dim RadioAddButton As RadioButton = New RadioButton()
Dim RadioAddRangeButton As RadioButton = New RadioButton()

' Add controls to the Panel using the AddRange method.
Private Sub AddRangeButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles AddRangeButton.Click
' Set the Text the RadioButtons will display.
RadioAddButton.Text = "RadioAddButton"
RadioAddRangeButton.Text = "RadioAddRangeButton"

' Set the appropriate location of RadioAddRangeButton.
RadioAddRangeButton.Location = New System.Drawing.Point( _
RadioAddButton.Location.X, _
RadioAddButton.Location.Y + RadioAddButton.Height)

' Add the controls to the Panel.
Panel1.Controls.AddRange(New Control() {RadioAddButton, RadioAddRangeButton})
End Sub

ДОбавляют 2 элемента, НО: объявляют их как Dim RadioAddButton As RadioButton = New RadioButton() и потом задают им свойства. Без этого, скорее всего, они не добавятся.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:34, 27-08-2008 | #251



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Получилось?

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 02:16, 27-08-2008 | #252


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Delirium, ну вроде бы да

Отправлено: 12:22, 27-08-2008 | #253


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Как в For Each можно перейти на следующий элемент? Наример мне ненужно записывать какое-то значение, и если оно обнаружено, то переходит на следующий.
вот например пытаюсь сделать обход System Volume Information, но она все-равно проскакивает
Код: Выделить весь код
    Function GetFilesAndFolders(ByVal Folder As String) As String
        Dim StringBuilder As New System.Text.StringBuilder
        Dim FolderName As IO.DirectoryInfo

        StringBuilder.AppendLine(Folder)

        For Each Path As String In IO.Directory.GetDirectories(Folder)

            Try
                FolderName = My.Computer.FileSystem.GetDirectoryInfo(Folder)

                If FolderName.Name = "System Volume Information" Then
                    ChDir("..")
                    Continue For
                End If

                ChDir(Path)

                StringBuilder.AppendLine(GetFilesAndFolders(Path))
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Critical, "Ошибка")
            End Try

        Next

        For Each File As String In IO.Directory.GetFiles(Folder)
            StringBuilder.AppendLine(File)
        Next

        Return StringBuilder.ToString
    End Function

Последний раз редактировалось Uzvern, 04-09-2008 в 23:07.


Отправлено: 15:51, 04-09-2008 | #254


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


В смысле обход? Нужно именно поймать "System Volume Information" или пропустить его в обходе?
Протестировал код... Когда в качестве параметра функции пишу "C:\", начинается обход с корня диска и подвисает, точнее очень долго делает обход всех папок.
ЧТобы цикл зашел в нужную папку, прописал вот так:

Цитата:
If Path = Folder & "System Volume Information" then
вместо
Цитата Uzvern:
If FolderName.Name = "System Volume Information" Then »
Только я не пойму, что дальше то сделать надо вам

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:53, 05-09-2008 | #255


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Мне необходимо его наоборот пропустить!

Отправлено: 13:52, 05-09-2008 | #256


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Uzvern, оно и будет пропускать если подкорректировать условия, как подсказал Delirium. Проверяется это очень просто добавлением строчки Print.Debug("FolderName.Name") после условия, что б видеть что оно сработало. Можно и до, будут отображаться все пути пройденные программой, это ещё наглядно будет показывать что программа не висит.
Очень хорошо что была найдена возможность добавлять свой пункт в контекстное меню.
Delirium по дефолту к данной папке (при условии использовании NTFS) доступ заказан даже админу вот по этому Uzvern потребовалось обойти эту папку.

Отправлено: 14:52, 06-09-2008 | #257


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Как можно открыть папку и выделить неоходимый файл?

Отправлено: 16:16, 10-09-2008 | #258


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Что бы выделить файл, например boot.ini в корне диска C, необходим код следующего вида
Код: Выделить весь код
Call Shell("Explorer.exe /n,/e,/select, C:\boot.ini", vbNormalFocus)
>>
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:03, 10-09-2008 | #259


Аватара для Uzvern

Старожил


Сообщения: 161
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Код: Выделить весь код
Call
Что означает? Не первый раз уже вижу это слово в кодах, но так и не понял для чего же оно

Отправлено: 22:07, 10-09-2008 | #260



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Visual Basic 2008

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - MS Visual Basic 2008 Expres Edition файлы проекта Anton Naumov Программирование и базы данных 7 14-05-2010 14:09
VBA - Visual basic 2008 Anton Naumov Программирование и базы данных 1 02-01-2010 22:35
visual basic 6 иоанн Хочу все знать 1 27-04-2009 18:51
visual basic 6 guma Программирование и базы данных 1 26-04-2007 20:41
Visual basic carlos Программирование и базы данных 1 04-08-2003 02:03




 
Переход