|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Visual Basic 2008 |
|
VBA - Visual Basic 2008
|
Старожил Сообщения: 161 |
Профиль | Сайт | Отправить PM | Цитировать
Подскажите как сделать так : допустим, если нажать на форме правой кнопкой мыши, то вылетет MsgBox(123), а если нажать левой, то MsgBox(098).
Спасибо за внимание. >>Блин, не дописал в названии темы : Действие при нажатии правой кнопки |
|
Отправлено: 17:47, 24-04-2008 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать В VB2008м (кроме General Declaration как и в VB6, есть так называемая Form1 - Declaration) используется модель классов, сама Form1 к классу, так вот сразу здесь можно объявить переменны/константы и т.д. относящиеся ко всей форме этого класса.
А объявление в таймере существует только в момент исполнения/срабатывания таймера. |
Отправлено: 17:55, 01-05-2008 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 161
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Admiral:
|
|
Отправлено: 17:58, 01-05-2008 | #22 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Таймер запустился, обозначил переменную i прибавил к ней единицу и закончил работу, и никто про i так и ничего не узнал. Заново запустился и по новой i объявил…
|
Отправлено: 18:01, 01-05-2008 | #23 |
Старожил Сообщения: 161
|
Профиль | Сайт | Отправить PM | Цитировать ааа....ну это то я знаю как бы ещё с самого начала как только увидел VB.
Вот ещё сабж : у меня 8 ТекстБосов. В каждый текстбокс генерируется произвольльное число от 0 до 1 (Int(rnd(1))). Получается, если в каждый ТекстБокс сгенерируется 1, значит во всех ТекстБоксах будет 1, а мне надо чтобы в 4 (не меньше и не больше) каких-то (произвольных) ТестБокса сгенерировалось 1 или 0, точно так же если значение стоит 5, то генерируется либо 5 "0", либо 5 "1". кажется подробно объяснил. Кстати, Admiral, посоветуй хорший учебник по VB6 (на советском), просто у меня есть, но там все урезано по максимуму. |
Отправлено: 20:09, 01-05-2008 | #24 |
Старожил Сообщения: 161
|
Профиль | Сайт | Отправить PM | Цитировать Сделал вот так, но это не вариант. Нужно чтобы высчислялось сколько "0" будет писаться, например из 9 ТекстБокса, т.е. в 9ТекстБокс ввел "6" - получил в 6 предыдущих ТекстБоксах "0"
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Randomize() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim v v = Int(Rnd() * 8) + 1 If v Then If v = 1 Then TextBox1.Text = Int(Rnd(1)) If v = 2 Then TextBox2.Text = Int(Rnd(1)) If v = 3 Then TextBox3.Text = Int(Rnd(1)) If v = 4 Then TextBox4.Text = Int(Rnd(1)) If v = 5 Then TextBox5.Text = Int(Rnd(1)) If v = 6 Then TextBox6.Text = Int(Rnd(1)) If v = 7 Then TextBox7.Text = Int(Rnd(1)) If v = 8 Then TextBox8.Text = Int(Rnd(1)) End If End Sub End Class |
Отправлено: 20:33, 01-05-2008 | #25 |
Старожил Сообщения: 161
|
Профиль | Сайт | Отправить PM | Цитировать Как можно именять прозрачность формы?
Me.Opacity и что нужно дальше писать чтобы работало? Просто мне нужно, если переменная i = 1 , тогда прозрачность равна 90%. Если i = 2 , тогда прозрачность равна 80% и т.д. до 0% А нет. Все. Разобрался значение должно быть в виде : 90% = 0.9 ; 80% = 0.8 и т.д. |
Последний раз редактировалось Uzvern, 01-05-2008 в 21:44. Отправлено: 21:23, 01-05-2008 | #26 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Незачем генерит каждый раз, лучше один раз занести результат в переменной и потом с ней проводить операции.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Nuli As Integer Dim Edinicu As Integer Dim NulOdin As Byte For I As Integer = 1 To 8 NulOdin = Rnd(1) If NulOdin = 0 Then Nuli = Nuli + 1 ElseIf NulOdin = 1 Then Edinicu = Edinicu + 1 End If If Nuli >= 5 Then NulOdin = 1 ElseIf Edinicu >= 5 Then NulOdin = 0 End If Select Case I Case 1 TextBox1.Text = NulOdin Case 2 TextBox2.Text = NulOdin Case 3 TextBox3.Text = NulOdin Case 4 TextBox4.Text = NulOdin Case 5 TextBox5.Text = NulOdin Case 6 TextBox6.Text = NulOdin Case 7 TextBox7.Text = NulOdin Case 8 TextBox8.Text = NulOdin End Select Next I End Sub По остальному, я считаю нули и единицы, если количество одного из них станет равно/больше 5, то далее заполнять переменную сохраняющую результат генерации нуль/один противоположным числом. Самоучитель Visual Basic 6.0 А. Ананьев, А. Федоров Микаэл Хальворсон Microsoft Visual Basic 6.0 для профессионалов Шаг за шагом Из электронных (в печатном виде продукт не выходил) приглянулся VISUAL BASIC 6 и VBA. Для профессионалов Ну и конечно же Сайты о Visual Basic + к той теме ресурс из современности http://vbnet.ru/ Так же McDAK подсказал, как правильнее всего изучать Бейсик этой ссылкой Цитата McDAK:
Так что вот ещё тема Visual_Basic 2005 выбор литературы По 2008й ещё очень мало переведено литературы, впрочем как и по любым другим компонентам студии 2008. Какая б не было книга, главное желание. P.S. На счёт прозрачности и книг, то в источнике VISUAL BASIC 6 и VBA. Для профессионалов сведенья натолкнули на мысль как использовать прозрачность в VB6 без GDI+. Официально, через файл Microsoft Visual Studio 6.0\Common\Tools\Winapi\WIN32API.TXT объявления данной функция Бейсику не полагалось, так что как бы не документированная функция для Бейсика. 'Прозрачность в Visual Basic 6 Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _ ByVal hwnd As Long, _ ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _ ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare Function SetLayeredWindowAttributes Lib "user32" ( _ ByVal hwnd As Long, _ ByVal crKey As Long, _ ByVal bAlpha As Byte, _ ByVal dwFlags As Long) As Long Private Const GWL_EXSTYLE = (-20) Private Const WS_EX_LAYERED = &H80000 Private Const LWA_ALPHA = &H2 Private Sub SetTrans(ByVal lhWnd As Long, ByVal lAlpha As Byte) SetWindowLong lhWnd, GWL_EXSTYLE, GetWindowLong(lhWnd, GWL_EXSTYLE) Or WS_EX_LAYERED SetLayeredWindowAttributes lhWnd, 0&, lAlpha, LWA_ALPHA End Sub Private Sub Command1_Click() SetTrans hwnd, 100 End Sub |
|
Последний раз редактировалось Admiral, 01-05-2008 в 22:21. Причина: Добавил код по Visual Basic 6 с прозрачностью Отправлено: 22:04, 01-05-2008 | #27 |
Старожил Сообщения: 161
|
Профиль | Сайт | Отправить PM | Цитировать зачет! А что такое Select Case? И как можно добавлять значения из текстового файла в ComboBox? Вот кстати с вашей помощью сделал игровой аппарат. Я начинающий, поэтому для меня это была одна не из лёгких задач. |
Отправлено: 22:18, 01-05-2008 | #28 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Select Case это выбор по определённому значению. Все равно не совсем там катит, лучше через массив работать. Кстати, там действительно необходимо такое число ТекстБоксов, может лучше подойдут массивы?
Вместо того что б писать Цитата Uzvern:
Можно и целые группы значений Dim number As Integer = 8 Select Case number Case 1 To 5 Debug.WriteLine("Between 1 and 5, inclusive") ' The following is the only Case clause that evaluates to True. Case 6, 7, 8 Debug.WriteLine("Between 6 and 8, inclusive") Case 9 To 10 Debug.WriteLine("Equal to 9 or 10") Case Else Debug.WriteLine("Not between 1 and 10, inclusive") End Select Считать в переменную или сразу построчно считывать через свойство ComboBox1.Items().Add |
|
Отправлено: 22:37, 01-05-2008 | #29 |
Старожил Сообщения: 161
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Admiral:
Считывать из переменной будет так : ComboBox1.Items().Items(*перемнная*) ? Или как-то по другому? Что это значит : ComboBox1.Items().Add ? Добавлятьв перменную? ComboBox1.Items().Add(*перемнная*) ? |
|
Отправлено: 22:58, 01-05-2008 | #30 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|