1
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Приветствуем вас,Гость, на форуме IFUD.WS. Обязательно рекомендуется к прочтению правила форума http://ifud.ws/threads/obnovleno-pravila-foruma.7759

Уроки Visual Basic.Net-VB

Тема в разделе "Наши статьи", создана пользователем Maxim+, 2 сен 2015.

  1. TopicStarter Overlay
    Maxim+

    Maxim+

    Регистрация:
    1 сен 2015
    Сообщения:
    66
    Симпатии:
    60
    уден так!
    В этом учебнике ты будешь учиться программировать на VB.Net. Если ты программируешь на VB6, то учебник поможет перейти на Visual Basic.Net.
    Visual Basic.Net - это новый язык, который очень сильно отличается от VB6, он стал намного сложнее Visual Basic 6. Наверное это единственный сущесвенный недостаток, который появился в седьмой версии VB. Зато VB.Net стал в сотни раз мощнее VB6, на нем можно делать то, что на VB6 сделать было просто невозможно, и приходилось в каждой программе написанной на VB6 использовать компоненты и API функции написанные на других языках.
    Для VB.Net нужен комп 433MHZ и выше, ну и естественно редактор Visual Basic.Net(входящий в состав Visual Studio.Net).
    Если у тебя комп ниже 433MHZ, и VB.Net не идёт, то я просто советую изучать Visual Basic 6. Он идет даже 100MHZ. Работает быстро. Тем более инфы(статей, учебников, исходников) за долгие годы существования VB6(и VB5) накопилось очень много(Один из самых лучших учебников о VB6 ты можешь скачать с моего сайта - Please login or register to view links, автор учебника я, учебник называется - "Программируем на Visual Basic`e"). Да и вобще, VB6 - это лучший язык для начинающих, легче в освоении языка нет. Тем более, тебе потом будет легче переходить на VB.Net.
    Если у тебя комп тянет VB.Net, и есть редактор(если нету, то сходи на рынок и купи, или скачай с офицального сайта microsoft vb.net, она весит около 100MB), то можешь читать дальше.
    P.S. Если ты все еще колеблишься, и не знаешь какой язык изучать, то читай ниже:

    Вступление
    Где-то в 2000-2002 компания Microsoft сделала платформу .Net, и включила ее в поставку с Windows XP. И вместе с этой платформой, она выпустила пакет программ Visual Studio.Net, включающий программы для разработки приложений под платформу .Net. В этот пакет входят несколько языков(Visual C++ .NET, Visual C# .NET, Visual Basic.NET, Visual J# .NET), и других программ, которые работают под платформой .Net.

    Visual Basic
    Программы написанные на VB.Net не будут работать без установленной .Net платформы, т.е. чтобы программа работала, на ОС нужно установить .Net платформу(а она весит около 100MB). С одной стороны это пока большой недастаток, т.к. .Net платформа постовляется только с Windows XP, а сейчас большенство пользователей сидят в 98 и Me. Но.. это пока, ведь с каждым днем народ переходит на XP(а в конце 2004 года выйдет бета - версия Windows Longhorm(или еще как-то, не помню..), альфа - версия уже можно скачать из интернета). Так что скоро .Net платформа будет распространена, тем более не только VB перешел на .Net платформу, а и все основные языки(C++, Delphi, C#..).
    Достоинство .Net платформы состоит в том, что теперь программа написанная на .Net языках будет работать на всех ОС, на которых установленна .Net платформа. А то раньше большинство программистов не могли писать программы для Unix, Linux..(т.к. компилятор не позволял), можно было только для Windows, а те которые могли(в основном C#, C++, Assembler) стояли перед выбором, писать для Windows или других ОС.
    Возможности VB.Net стали ни чем не хуже возможностей других языков, т.к. в принципе у всех .Net языков возможности приблизительно одинаковы(т.к. у них одна платформа), но Visual Basic является самым простым языком. Так что нет смысла изучать Delphi, C#, они ни чем не лучше, а намного хуже VB.Net.
    Привет всем. VB.Net 2010 и VB6 отличаются синтаксисом команд(разное написание команд), но смысл тот же. Если Вы выбрали Visual Basic.Net 2010 это статья для вас. На данном сайте vbbook.ru уже есть статьи посвященые знакомству и интерфейсу программы, но там не про 2010. Это пока самая новая версия программы на момент создания статьи. Существует уже 2011, но он проходит только стадию Beta, так что не будет на этом заморачиваться.

    И так, начнём. Первым делом нужно скачать программу, это можно и лучше сделать с офф сайта Microsoft. Мы будем качать Express версию, так как она бесплатная. Вот ссылка. Чтобы начать скачивание выбираем язык и жмём Install now, скачиваем маленький файл, который всё сделает за вас. Если будут проблемы с работой или установкой нужно скачать NET Framework 4. Программа работает именно на нём. С момента первого запуска вам даётся 30-дневный пробный период, но по истечению этого срока Вам просто будет нужно нажать на регистрацию и зарегистрироваться или авторизоваться на сайте Microsoft и Вас абсолютно бесплатно дадут ключ для программы на неограниченное время.

    Мы установили и запустили программу, если у Вас не возникло проблем-это хорошо=). Visual Basic.Net будет нас встречать так:

    [​IMG]

    Для начала работы с программой нужно нажать "Создать проект" и выбрать там нужную форму для программа. Так как Вы новичок, если читаете данную статью, то выбираем первый пункт "Приложение WindowsForms". Программа создаст проект. Чтобы сохранить проект жмём на три дискеты вряд. Проекты сохранает по дефолту в Документы->Visual Studio 2010->Projects и там по названию выбираете нужный Вам проект. Рассмотри интерфес подробнее:

    [​IMG]

    1. Создать проект
    2. Открыть проект
    3. Добавить элемент(добавляем в открытый проект(окно справки,базу данных,WPF)
    4. Сохраняем изменения в данной форме
    5. Сохраняем изменения во всех формах(лучше всегда так сохранять)
    6. Вырезать, копировать, вставить(это должны знать)
    7. Поиск по коду
    8. Ставит ' для комментирования(выделяем текст или код и жмём.Код станет комментарием и не будет исполнятся при компиляции)
    9. Отменяем и возвращаем действие
    10. Запуск и остановка программы
    11. Запуск с определённого места(три иконки)
    12. Обозреватель решений(находится окно в правом верхнем углу.Там спикок ваших форм в данном проекте)
    13. Свойства данного объекта(кнопка,текстбокс)
    14. Панель элементов(выбираем что добавить на форму кнопки, текст)
    15. Расширения для проекта(пока вам не понадобиться)
    16. Окно ошибок и интерпритации(находятся по дефолту внизу, кпоки их скрывают и показывают)
    Вот сообственно основы. Как создать первую программу есть статья на сайте, но мы сделаем немного другую=), будем индвидуальны.

    Для этого нам понадобится: Button и Label.

    Жмём два раза на Button и кидаем туда этот код:

    Label1.text = "Моя первая программа!"
    Вот и всё. Перед тем как запустите программу я Вам объясню, что мы сделали. Первое мы написали Label1 это объект для действия, то есть объект текст. Второе после точки идёт действие, в данном случае text - смена текста объекта. Третье после равно будет значение. Так как это текст, то его нужно пеместить в ковычки. Бывает когда значени пишется в скобках, но урок не об этом. После того как вникли в суть, можем запустить программу(жмём на плей). Появляется окно, там жмём на кнопку и текст меняется на наш. Закрываем и теперь мы хотим это всё сохранить в exe файл. Ищем в правом верхнем углу Обозреватель решений и на название проекта жмём правой кнопкой, там выбираем пункт постоить. Идём в папку с проектом Документы->Visual Studio 2010->Projects->название проекта -> ещё раз название проекта -> bin -> Release и там лежит файл с нашей программой, который Вы можете передать своему другу и показать на сколько вы круты=). Первыми программами обычно является калькулятор или веб-браузер. Калькулятор я советую попробовать сделать, а вот браузер не стоит. Никаких знаний не получите и будете выглядить глупо. Так как элемент WebBrowser используется обычно не для выхода в интернет, а для отправки запросов в интернет вашей программы.

    Теперь вы знаете основы Visual Basic.Net. При копировании данной статьи указывайте источник и автора, уважайте чужой труд! Оставляем выши вопросы в комментарии. С вами былKrIvEdKA, удачи в программировании.
    Открой VB.Net, перед тобой должно появится вот такое окошко(если не появится, то нажми на кнопку My Profile):

    [​IMG]

    Чтобы редактор Visual Basic.Net был максимально похож на редактор VB6, настрой его также, как показано на рисунке.

    Теперь жми на File>>New>>Project...(или нажми на Ctrl + N), перед тобой откроется окошко, в нём выбери "Windows Application" и нажми 'OK':

    [​IMG]

    И вот, наконец - то, открывается редактор:

    [​IMG]

    Форма - Основное окно, на котором располагаются объкты.

    Панель инструментов - В панели инструментов распалагаются объекты, из которых делается программка. Это кнопки, текстовые поля, переключатели... Все объекты размещаются на форме. Для того чтобы разместить объект, надо нажать на него два раза(в панели инструментов), или перетащить с панели инструментов на форму. Потом, размещенный объект можно перемещать и растягивать.
    Окно свойств - В окне свойств задаются свойства объектов, это ширина, высота, координаты, цвет и размер текста(если текст. поле)...
     
    • Like Like x 3
    Последнее редактирование: 2 сен 2015
    Метки:
  2. TopicStarter Overlay
    Maxim+

    Maxim+

    Регистрация:
    1 сен 2015
    Сообщения:
    66
    Симпатии:
    60
    Сейчас ты сделаешь свою первую VB.Net программу. В ней, при нажатии на кнопку, текст метки меняется. Ах, да.. чуть незабыл самое главное, помимо визуальной части(расположение объектов), в любой программе есть еще и программная часть, т.е. написание кода. Ну ладно, об этом немного попозже.
    Как я уже сказал, что наша программа будет состоять из двух объектов, это метка(Label) и кнопка(Button). Так вот, размети на форме метку(Label) и кнопку(Button). У метки свойство Text в окне свойств сделай "Моя первая программа", у кнопки свойство Text сделай "Кнопка".

    [​IMG]

    У метки и кнопки измени свойство Font, для этого, в окне свойств у каждого объекта(можно по отдельности, а можно выделить 2 объекта, и изменить свойство Font сразу у двух объектов) выбери свойство Font и нажми на кнопочку '...', которая появится напротив свойства.

    [​IMG]

    И в открывшемся окне, измени размер шрифта на 12(Жирный). Вот что у тебя должно получиться:

    [​IMG]

    На этом, визуальное построение программы законченно, перейдем к написанию кода, т.е. к кодингу(кстати, можешь посмотреть что у тебя получилось, для этого нажми на F5, или на синий треугольник, похожий на кнопку Play):
    Для входа в окно написания кода, щелкни два раза по кнопке(которую мы разместили на форме), у тебя откроется окно ввода кода программы:

    [​IMG]

    Т.к. мы кликнули два раза по кнопке, то соответственно создалось собитие Click для кнопки

    Собитие - событие это такой код, который срабатывает когда над объектом происодят какие - нибудь действия, например нажатие, перемещение мыши, изменения текста(в текстовом поле)... Первое событие, о котором ты должен знать это Click, оно происходит, когда кликают по объекту мышкой. В окне кода(чтобы его открыть, можно два раза кликнуть по любому объекту, или один раз кликнуть правой кнопкой по любому объекту, и в открывшемся меню нажать на View Code) в самом верху есть такое окошко:

    [​IMG]

    С лева можно выбирать объект, а справа событие которое будет происходить над объектом. В левом списке выбери объект Button, в правом списке, выбери событие Click, у тебя должен сгенерироваться такой код:
    Код:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Здесь будет код программы, который будет срабатывать при нажатии на кнопку(т.к. событие Click)
    End Sub
    
    Теперь я расскажу как пишется код:
    Каждый объект имеет своё имя, и обращаться к этому объекту нужно через его имя. Еще у каждого объекта есть свойства, они описывают этот объект. Например, перед нами комп, он имеет следующие свойства:
    Мощность 166MHZ
    Цвет: Серый
    Сидюк: 52X
    ...
    Так же и у объектов, у них свойства, это цвет текста, шрифт, фон...
    Для изменения свойств, надо написать имя объекта.Свойство Вернемся к нашей программе, сейчас сделаем чтобы при нажатии на кнопку у метки менялось свойство Text: Войди в окно кода, и впиши туда:
    Код:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Label1.Text = "Теперь я программер"
    End Sub
    
    Теперь нажми на F5, откроется твоя первая программа, в ней нажми на кнопку, и текст в метке изменится.
    Для тех, кто не очень понял:
    Label1.Text = "Теперь я программер"
    Lebel1 - Это имя объекта метка(чтобы изменить имя, можно выделить объект(метка), и изменить свойство Name)
    Text - это свойство, при изменении которого, меняется текст в метке. Между объектом и свойством ставится точка(Label.Text)
    Потом идет =, и после него в ковычках идет значение свойства.
    Понял?
    Теперь скачай исходник, и посмотри на готовый проект:
    Скачать исходник

    После скачивания, распакуй(при помощи WinZip, WinRar), потом открой VB.Net, нажми на File>>Open>>Project... и выбери исходник(файл WindowsApplication11.vbproj). Если форма не загрузится, то выбери в правом верхнем углу форму, и кликни по ней:

    [​IMG]

    Чтобы посмотреть как будет выглядеть программа в откомпилированном виде(т.е. exe файл), зайди в свой проект(Мои документы>>Visual Studio Projects>>Имя проекта(обычно 'WindowsApplication1')) папку bin, и там будет лежать откомпилированная программа. Или скачай исходник, зайди в него, там будет папка Bin, и в ней будет готовая откомпилированная программа.
    Сейчас мы сделаем программку, в которой, при нажатии на кнопку, свойства текстового поля будут менятся. На форме размести текстовое поле(TextBox) и 3 кнопки(Button). У кнопок измени свойства Text:

    Button1 - свойство Text измени на 'Цвет'
    Button2 - свойство Text измени на 'Фон'
    Button1 - свойство Text измени на 'Текст'

    Вот код:
    Код:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' При нажатии на кнопку 'Цвет':
    TextBox1.ForeColor = Color.Red ' Меняем цвет текста на красный
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' При нажатии на кнопку 'Фон':
    TextBox1.BackColor = Color.Black ' Меняеи цвет фона на черный':
    End Sub
    
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click ' При нажатии на кнопку 'Текст':
    TextBox1.Text = "Изменение свойств" ' Меняем текст в текст. поле.
    End Sub 
    Без переменных не обойдется ни одна программа, особенно написанная на VB.Net. В VB.Net в отличии от VB6, переменные нужно использовать практически везде. Так что советую читать повнимательней.
    Переменные нужны для хранения информации. В этом шаге ты узнаешь об двух типах, это Integer - для хранения чисел, и String - для хранения символов.
    Объявляются переменные так:

    Dim Имя переменной As Тип переменной

    Сейчас сделаем программку, на форме размести 2 кнопки, и текст. поле, вот код:
    Код:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim Hislo As Integer ' Объявляем переменную Hislo для хранения чисел
    Hislo = 5 ' Переменная Hislo равна 5
    TextBox1.Text = Hislo ' Текст. поле равна значению переменной Hislo
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Dim Stroka As String ' Объявляем переменную Stroka для хранения символов
    stroka = "Переменная для хранения символов"
    TextBox1.Text = Stroka
    End Sub 
    Функции есть во всех языках программирования, они нужны для того, чтобы писать меньше кода. В VB.Net сохранились практически все функции которые были в VB6, и появились новые. Это вводный шаг, так что обо всех функциях здесь я писать не буду, а напишу только о тех, которые нам пригодятся в ближайшее время.
    Функции обозначаются так: Функция(Значение, которое обработает функция)

    1. Rnd - функция генерирования случайных чисел, очень важная функция. Например, в игре сапер, бомбы каждый раз находятся в разных местах, - это благодаря этой функции. В игре пасьянс, карты всегда разные.. Пример:
    На форме размести 1 кнопку, и 1 текст. поле, вот код:
    Код:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    TextBox1.Text = Rnd() * 6 ' Функция генерирует случайное число от 0 до 6
    End Sub 
    2. Fix - функция отрезает дробную часть у числа, например, если обрабатываемое значение функции равно 1.625, то функция выдаст 1. Усовершенствуем нашу предыдущюю программу, которая генерировала случайные числа. С помощью функции Fix случайное число будет округлятся(вернее, отрезаться дробная часть). На форме размести 1 кнопку, 1 текст. поле, вот код:
    Код:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    TextBox1.Text = Fix(Rnd() * 6) ' Функция Rnd генерирует случайное число от 0 до 6, и при помощи функции Fix отрезается дробная часть.
    End Sub
    
    3. CInt - функция преобразует строковое значение, в числовое.
    4. CStr - функция преобразует числовое значение, в строковое.
    На форме размести 3 текст. поля, 4 кнопки, измени у кнопок свойства:

    У Button1 - измени свойство Text на +
    У Button2 - измени свойство Text на -
    У Button3 - измени свойство Text на /
    У Button4 - измени свойство Text на x

    Вот что у тебя должно получиться:

    [​IMG]

    Теперь код:
    Код:
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click ' При нажатии на кнопку Button3(т.е. делить):
    TextBox1.Text = CInt(TextBox3.Text) / CInt(TextBox2.Text) ' При помощи функции CInt преобразовываем текст находящийся в текст. поле в число. Это делается затем, что текст в текст. поле всегда имеет тип 'String', вот поэтому его надо преобразовывать. Потом делим первое число на второе.
    End Sub
    
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    TextBox1.Text = CInt(TextBox3.Text) * CInt(TextBox2.Text) ' Умножаем
    End Sub
    
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    TextBox1.Text = CInt(TextBox3.Text) + CInt(TextBox2.Text) ' Прибовляем
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    TextBox1.Text = CInt(TextBox3.Text) - CInt(TextBox2.Text) ' Отнимаем
    End Sub 
     
    • Like Like x 2
    Последнее редактирование: 2 сен 2015
  3. TopicStarter Overlay
    Maxim+

    Maxim+

    Регистрация:
    1 сен 2015
    Сообщения:
    66
    Симпатии:
    60
    Для создания сообщений есть функция MsgBox. Например, сейчас мы сделаем вот такое сообщение:

    [​IMG]

    Синтаксис функции Msgbox:

    MsgBox("Здесь твой текст", ЧитКод1+ЧитКод2, "Здесь заголовок")

    ЧитКод1 и ЧитКод2 определяются по таблице:

    [​IMG]

    Из таблице видно, что ЧитКод1 отвечает за тип сообщения(т.е. за пиктограмму), а ЧитКод2 за кнопки которые будут расположенны на сообщение.

    Вот пример:
    На форме расположи кнопку, вот код:
    Код:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    MsgBox("Здесь твой текст", 20, "Здесь заголовок") ' При нажатии на кнопку появляется сообщение. Здесь наверное все понятно, кроме 20. 20 - это ЧитКод1 + ЧитКод2. ЧитКод1 = 16(критическая ошибка), ЧитКод2 = 4, т.е. кнопки - "Да" и "Нет"
    End Sub
    
    Более подробно о сообщениях ты узнаешь через пару шагов, т.к. в начале тебе надо узнать об условном операторе.
    Исходник


    в VB есть еще второй тип сообщений, вот как он выглядит:

    [​IMG]

    Синтаксис:

    Dim TXT As String ' Объявляем переменную TXT для хранения символов
    TXT = InputBox("Здесь твой текст", "Здесь заголовок сообщения", "Здесь текст, который будет в текст. поле", X, Y)

    Переменная TXT будет равна тексту, который введён в текст. поле.
    X и Y - это координаты сообщения, если их не указать, то сообщение будет по центру.

    Пример:
    На форме размести кнопку, вот код:
    Код:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim TXT As String ' Объявляем переменную TXT для хранения символов
    TXT = InputBox("Здесь твой текст", "Здесь заголовок сообщения", "Здесь текст, который будет в текст. поле", 100, 100) ' Показываем сообщение, переменная TXT будет равна тексту, который введен в текст. поле
    MsgBox(TXT) ' Показываем сообщение с текстом, который был введен в текст. поле
    End Sub 
    Исходник
    Операторы - это самая главная часть программирования, без нее не обойдется ни один язык программировая, так что на этом шаге остановись поподробней.
    1. Условный оператор - самый главный оператор, используется практически во всех программах. Он нужен для создания условия. Если условие верно, то выполняется одна часть кода, если нет - то вторая.
    Синтаксис:

    If Условие Then
    Серия 1
    Else
    Серия 2
    End If

    Серия 1 выполняется если условие верно, Серия 2 - если условие не верно.
    Чтобы было понятней, сейчас сделаем программку которая будет сверять введеный в текст. поле пароль. На форме размести 1 текст. поле(свойство Text = ""), 1 метку(свойство Text = "Введите пароль"), 1 кнопку(свойсво Text = "OK"). Код:
    Код:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    If TextBox1.Text = "Password" Then ' Если текст в текстовом поле = "Password", то:
    MsgBox("Введен правильный пароль", 64, "")
    Else ' Если условие не верно
    MsgBox("Введен неправильный пароль", 16, "")
    End If
    End Sub
    
    Исходник

    Так же условный оператор можно использовать без ключ. слова Else, тогда если условие не верно, то ни чего происходить не будет.

    2. Оператор цикла со счетчиком нужен для выполнения какого - нибудь действия несколько раз. Синтаксис:

    Dim i As Integer

    For i = 0 To 5 ' Цикл длится до тех пор, пока i меньше или равно 5. Цикл начинается от 0
    MsgBox(i)
    Next i

    Есть еще несколько операторов, об них я расскажу попозже, т.к. пока они не нужны.
    Сейчас ты сделаешь свою первую игру, это простейшая игра 'Угадай число'. На форме размести текст. поле, и 2 кнопки(Button1 свойство Text измени на "Загадать число", у Button2 - свойство Text = "Ввод"). Вот как это должно выглядеть:

    [​IMG]

    Код:
    Код:
    Dim Hislo As Integer ' Объявляем переменную Hislo для хранения чисел. В ней будет храниться загаданное число
    
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' При нажатии на кнопку 'Загадать число':
    Randomize() ' Этот оператор используется вместе с функцие Rnd, он нужен чтобы всегда генерировались случайные числа(если ты заметил то функция Rnd генерирует всегда одинаковые числа)
    Hislo = Fix(Rnd() * 100) ' Генерируем случайное число и обрезаем дробную часть. Потом случайное число записывается в переменную Hislo
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' При нажатии на кнопку 'ВВод':
    If Hislo > CInt(TextBox1.Text) Then ' Если загаданное число меньше введенного в текст. поле, то выводим сообщение
    MsgBox("Побольше", 64, "Угадай число")
    End If
    
    If Hislo < CInt(TextBox1.Text) Then ' Если загаданное число больше введенного в текст. поле, то выводим сообщение
    MsgBox("Поменьше", 64, "Угадай число")
    End If
    
    If Hislo = CInt(TextBox1.Text) Then ' Если загаданное число равно введеному, то выводим сообщение о победе
    MsgBox("Ты победил(а) - ", 64, "Угадай число")
    End ' При помощи функции End выходим из программы
    End If
    End Sub
    
    Все, игра готова, теперь открой игру, нажми на кнопку 'Загадать число', и угадывай!
    Исходник
    Как создавать сообщения ты уже знаешь, а вот как реагировать на кнопки, которые расположены на сообщение ты узнаешь в этом шаге.
    Вот таблица кнопок:

    [​IMG]

    В первой части мы сделали вот такое сообщение:

    [​IMG]

    Как видно на нем расположенны 2 кнопки - "Да" и "Нет". Теперь подними глаза повыше, и посмотри на таблицу, у кнопки "Да" номер 6, у "Нет" - 7. Теперь посмотри на код, и ты все поймешь:
    Код:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim Soob As Integer ' Объявляем переменную Soob для хранения чисел, в ней будет храниться номер нажатой кнопки
    
    Soob = MsgBox("Здесь твой текст", 20, "Здесь заголовок") ' Показываем сообщение, и номер нажатой кнопки записывается в переменную Soob
    If Soob = 6 Then MsgBox("Нажата кнопка 'Да'")
    If Soob = 7 Then MsgBox("Нажата кнопка 'Нет'")
    End Sub
    
    Исходник
    Операции:
    + - Сложение(2+2)
    - - Вычетание(2-2)
    / - Деление(2/2)
    * - Умножение(2*2)
    ^ - Возведение в степень(2^2)
    & - Соеденение числа и символа. Например, MsgBox("Номер " & 5)

    Логические Операторы:
    Логические операторы в основном используются вместе с условным оператором, вот основные логические операторы:
    And = "И"
    Or и Xor = "Или"
    Чтобы понять как работают логические операторы, мы сделаем программку:
    На форме размести кнопку, и 2 текст. поля, вот код:
    Код:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    If TextBox1.Text = "123" And TextBox2.Text = "456" Then MsgBox("Оператор AND") 'Если текст в TextBox1 = "123" И TextBox2 = "456" то выводим сообщение
    If TextBox1.Text = "123" Or TextBox2.Text = "456" Then MsgBox("Оператор OR") 'Если текст в TextBox1 = "123" ИЛИ TextBox2 = "456" то выводим сообщение
    End Sub
    
    Теперь нажми на F5, и в TextBox1 введи 123, потом нажми на кнопку, появится сообщение. Потом в TextBox2 введи 456, и опять нажми на кнопку.
    Отнесись к этим оператором посерьезней, т.к. при помощи них мы будем делать всякие программы, например игру Pine Ball.
    Исходник
     
    • Like Like x 3
    Последнее редактирование: 2 сен 2015
  4. TopicStarter Overlay
    Maxim+

    Maxim+

    Регистрация:
    1 сен 2015
    Сообщения:
    66
    Симпатии:
    60
    Анимация - это движение объектов, и с помощью VB мы будем заставлять двигаться всё, что под руку попадется.
    В любом языке программирования, практически у всех объектов есть свойства Left и Top. Вот и при помощи этих свойст мы будем двигать объекты.
    Для начала сделаем программу, которая при нажатии на кнопку будет двигать текстовое поле, вверх и вниз.
    На форме размести 4 кнопки, и 1 текст. поле. У кнопок измени свойства:
    У Button1 измени свойсво Text на 'Вверх'
    У Button2 измени свойсво Text на 'Вниз'
    У Button3 измени свойсво Text на 'Влево'
    У Button4 измени свойсво Text на 'Вправо'


    Вот код:
    Код:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    TextBox1.Top = TextBox1.Top - 10 ' Двигаем текст. поле вниз. Т.е. свойство Top текст. поля будет равно свойству Top текст. поля, но на 10 пикселей меньше.
    End Sub
    'Здесь все аналогично
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    TextBox1.Top = TextBox1.Top + 10
    End Sub
    
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    TextBox1.Left = TextBox1.Left + 10
    End Sub
    
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    TextBox1.Left = TextBox1.Left - 10
    End Sub
    
    Please login or register to view links

    P.S. Так же помимо свойств Left(Лево) и Top(высота) почти у всех объектов есть свойства Height(Высота) и Width(Ширина). Поэксперементируй с этими свойствами.
    Сейчас мы сделаем программку, в которой картинка будет отскакивать от краев формы. Чтобы картинка двигалась автоматически, можно использовать циклы, но намного удабнее воспользоваться таймером. Для начала я напишу все свойства таймера:

    Name - имя таймера.
    Enabled - одно из самых важных свойств, оно есть пратически у всех объектов. Это свойство блокирует объект если его значение равно False(ложь), и разблокирует если значение равно True. При помощи этого свойства мы будем включать и выключать таймер
    Interval - Это свойство устанавливает интервал обновления таймера в милесекундах, например, если поставить 1000, то таймер будет обновляться каждую секунду.


    Теперь от вводной части перейдем к практике.
    На форме размети 1 PictureBox(измени свойство Image на путь к картинке, если нет картинки, то можешь взять мою:

    [​IMG]

    ), ещё размести кнопку(св-во Text = "Пуск"), и 2 таймера(у них свойства Enabled = False, Interval = 1). Кстати, наверное ты заметил, что таймер размещается не на форме, а под формой, вот здесь:

    [​IMG]

    Вобщем, у тебя должно получится что - то наподобие этого:

    [​IMG]

    Теперь код:
    Код:
    Dim Napravl As Integer = 1 ' Объявляем переменную Napravl для хранения чисел, и присваиваем ей начальное значение '1'. Чтобы задать начальное значение переменной для хранения символов, надо писать так: Dim Stroka As String = "Начальное значение для переменной типа String"
    
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' При нажатии на кнопку:
    
    If Timer1.Enabled = False And Timer2.Enabled = False Then ' Если Timer1 и Timer2 выключены то:
    
    If Napravl = 1 Then Timer1.Enabled = True ' Если переменная Napravl = 1, то включаем первый таймер
    If Napravl = 2 Then Timer2.Enabled = True ' Если переменная Napravl = 2, то включаем второй таймер
    Button1.Text = "Стоп" ' Меняем текст в кнопке
    Else ' Если хоть один таймер = True, то при нажатии на кнопку, она будет действовать как Стоп:
    If Timer1.Enabled = True Then Napravl = 1 ' Если Timer1.Enabled равен True, то Napravl = 1. Этим самым, мы сохраняем направление движения картинки.
    If Timer2.Enabled = True Then Napravl = 2
    
    ' Выключаем таймеры
    Timer1.Enabled = False
    Timer2.Enabled = False
    
    Button1.Text = "Пуск"
    End If
    End Sub
    
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick ' У таймера есть событие Tick, оно обновляет таймер, взависимости от свойства Interval
    PictureBox1.Left = PictureBox1.Left + 2 ' Двигаем картинку вправо
    If PictureBox1.Left >= Form1.ActiveForm.Width - PictureBox1.Width Then ' Если картинка достигла края формы(почти у каждого объекта есть свойства Width(ширина) и Height(высота)(в окне свойств они входят в разворачивающий список 'Size') Так вот, Form1.ActiveForm.Width - ширина формы(чтобы изменить свойства формы, в VB.Net надо писать не Form1.Свойство, а Form1.ActiveForm.Свойство), PictureBox1.Width - ширина картинки. От ширины формы отнимаем ширину картинки, и получаем край формы. Блин.. чё - то я в объяснениях перестарался :-))
    ' Двигаем картинку в другом направлении:
    Timer1.Enabled = False
    Timer2.Enabled = True
    End If
    End Sub
    
    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
    PictureBox1.Left = PictureBox1.Left - 2 ' Двигаем картинку влево
    If PictureBox1.Left <= 0 Then
    Timer2.Enabled = False
    Timer1.Enabled = True
    End If
    End Sub
    
    Вот и всё! Теперь постарайся все это переварить, и вобще по экспорементируй с тем что узнал в предыдущих шагах.
    Please login or register to view links
    Функции для работы со временем в VB.Net немного изменились, теперь, чтобы узнать текущее время есть функция - TimeString, чтобы узнать дату - DateString.
    Сейчас мы сделаем программу которая будет узнавать текущию дату и время. На форме размести таймер(Enabled = True, Interval = 1000), и 2 метки(Label)(AutoSize = True(чтобы размеры метки автоматически регулировались, взависимости от текста в метке), Text = "").

    Вот код:
    Код:
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Label1.Text = "Время: " & TimeString
    Label2.Text = "Дата: " & DateString
    End Sub
    
    Помимо этих двух функций в VB.Net сохранились функции для работы со временем: Hour()(часы), Minute()(минуты), Second()(секунды). Эти функции вырезают часы, минуты, секунды из указанно времени. Например, Minute(TimeString) - вырезает минуты из текущего времени. И с прежних версий VB остались функции для работы с датами: Day()(год), Month()(месяц),Year(год). Эти функции вырезают из текущей даты: день, месяц, год. Например, Month(DateString), вырезайет из текущей даты месяц.

    Еще сохранилась функция WeekDay, она нужна для определения дня недели(например Вторник). Сейчас мы сделаем программку, которая будет определять день недели, на форму добавь еще одну метку(Label3, свойства такие же как и у предыдущих меток), вот код:
    Код:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' При загрузке формы:
    
    Dim Den As Integer
    
    Den = Weekday(DateString) ' Определяем день недели
    If Den = 0 Then Label3.Text = "Воскресенье"
    If Den = 1 Then Label3.Text = "Понедельник"
    If Den = 2 Then Label3.Text = "Вторник"
    If Den = 3 Then Label3.Text = "Среда"
    If Den = 4 Then Label3.Text = "Четверг"
    If Den = 5 Then Label3.Text = "Пятница"
    If Den = 6 Then Label3.Text = "Суббота"
    
    End Sub
    
    Please login or register to view links

    Теперь сам попробуй сделать какую - нибудь программу, например календарь.
    Флажки и переключатели это основные объекты. Их в основном используют для установки параметров программы. Сейчас мы сделаем программу, которая будет реагировать на изменения флажков и переключателей. На форме размести 1 объект CheckBox, 2 объекта Panel, это для того чтобы разделить переключатели. Теперь в первый объект Panel размести 2 объекта RadioButton, и во второй тоже 2 RadioButton. Скажу еще про событие CheckedChanged, оно срабатывает когда изменяется свойство CheckState, ну короче при включении/выключении переключателя, и при ставке/убирании флажка.
    Код:
    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
    If CheckBox1.CheckState = 1 Then MsgBox("Флажок поставлен") 'Свойство CheckState у флажков может принимать 3 значения: 0 - флажок убран, 1 - флажок поставлен, 2 - флажок заблокирован
    If CheckBox1.CheckState = 0 Then MsgBox("Флажок убран")
    End Sub
    
    Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
    If RadioButton1.Checked = True Then MsgBox("Переключатель '1' включен") 'Свойство CheckState у переключателей может принимать 2 значения: True - переключатель включен, False - выключен
    If RadioButton1.Checked = False Then MsgBox("Переключатель '1' выключен")
    End Sub
    
    Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
    If RadioButton2.Checked = True Then MsgBox("Переключатель '2' включен")
    If RadioButton2.Checked = False Then MsgBox("Переключатель '2' выключен")
    End Sub
    
    Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged
    If RadioButton3.Checked = True Then MsgBox("Переключатель '3' включен")
    If RadioButton3.Checked = False Then MsgBox("Переключатель '3' выключен")
    End Sub
    
    Private Sub RadioButton4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton4.CheckedChanged
    If RadioButton4.Checked = True Then MsgBox("Переключатель '4' включен")
    If RadioButton4.Checked = False Then MsgBox("Переключатель '4' выключен")
    End Sub
    
    Фокус - это когда объекту передается управление. Ну.. короче если кликнуть по текстовому полю, то в нём появится курсор, это означает что текстовое поле получило фокус. Или другой пример, при выделении кнопки, рамка у нее меняется, это опять же кнопке передается фокус.
    Почти у всех объектов есть 2 события:

    GotFocus - когда объект получает фокус
    LostFocus - когда объект теряет фокус
    Так же почти у всех объектов есть метод Focus. Он передает объекту фокус. Забыл сказать что у каждого объекта есть свойства и методы:

    Свойство - описывает объект(цвет, шрифт, видимость..), обозначается вот так: [​IMG]
    Метод - делает какие - нибудь действия над объектом(обновляет, передает фокус..), обозначается вот так: [​IMG]


    Сейчас сделаем программу, в которой при нажатии на кнопку TextBox1 будет получать фокус. В TextBox2 будет написанно потерян или получен фокус в TextBox1.
    На форме размести 1 кнопку, и 2 текст. поля. Вот код:
    Код:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    TextBox1.Focus() 'Передаем фокус текстовому полю(TextBox1)
    End Sub
    
    Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus ' Событие происходит при потере фокуса
    TextBox2.Text = "Фокус потерян"
    End Sub
    
    Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus ' Событие происходит при получения фокуса
    TextBox2.Text = "Фокус получен"
    End Sub
    
    Please login or register to view links
     
    • Like Like x 3
    Последнее редактирование: 2 сен 2015
  5. TopicStarter Overlay
    Maxim+

    Maxim+

    Регистрация:
    1 сен 2015
    Сообщения:
    66
    Симпатии:
    60
    Для работы с клавиатурой в VB.Net сохранились события с предыдущих версий VB:

    KeyDown - происходит когда клавиша переходит в нажатое состояние
    KeyUp - происходит когда клавиша переходит в отжатое состояние
    KeyPress - происходит когда клавиша нажатаЭти события есть практически у всех объектов. Например, сейчас мы сделаем программу, в которой при нажатии на клавишу будет показываться сообщение с номером нажатой клавиши.
    Перед началом создания программы тебе надо узнать об ASCII кодировки.
    ASCII код - это код, который при нажатии на клавишу передает клавиатура программе. При помощи функции Chr() можно раскодировать ASCII код. Так же есть функция Asc() для закодирования символа в ASCII код. Пока наверное это не очень понятно, но ты всё поймешь после того как сделаем программу:

    На форме размести кнопку, вот код:
    Код:
    Private Sub Button1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Button1.KeyDown ' Событие происходит когда клавиша переходит в нажатое состояние
    MsgBox("ASCII код:" & e.KeyCode & ". Нажата клавиша: " & Chr(e.KeyCode)) ' 'e' - это переменная содержащия все свойства и методы класса System.Windows.Forms.KeyEventArgs, сейчас ты можешь не забивать себе голову классами, и вобще устройством работы с клавиатурой(сейчас все равно ни чего не поймешь, с классами ты познакомишься позже). Из этого шага ты должен узнать только что e.KeyCode - это ASCII код нажатой клавиши. При помощи функции Chr() ASCII код перекодируется в нормальную кодировку.
    End Sub
    
    Теперь запусти программу, передай кнопке фокус(выдели её), и нажимай на клавиши. Исходник
    В предыдущем шаге ты узнал об основах работы с клавиатурой, в этой части речь пойдет о проверке состояния клавиш(включая Control, Alt, Shift). Сейчас мы сделаем программу, которая будет проверять нажатия некоторых клавиш. На форму ни чего не размещай, вот код:
    Код:
    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
    If e.Control = True And e.KeyCode = Keys.Q Then MsgBox("Нажата Control и Q") ' Если нажата клавиша Contro(вместо неё можно написать Alt или Shift) и Q то выдаем сообщение
    End Sub
    
    Наверное ты заметил, что свойство KeyCode не умеет обрабатывать русские буквы. Для обработки русских и прописных букв надо использовать событие KeyPress и свойство KeyChar. Вот код:
    Код:
    Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
    If e.KeyChar = "п" Then MsgBox("Нажата клавиша: п") ' Если нажата клавиша 'п' то выводим сообщение
    End Sub
    
    Исходник
    В этом шаге мы сделаем программу, которая будет запрещать ввод букв, можнго будет вводить только цифры. На форме размести текстовое поле. Открой таблицу кодов ASCII, которая размещена в шаге: 'Работа с клавиатурой, Часть I'. Вот код:
    Код:
    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress ' Код нужно писать в событие KeyPress потому что это событие происходит быстрее чем KeyDown. KeyDown срабатывает после того, как в текстовом поле появился введеный символ, а KeyPress перед этим.
    If Asc(e.KeyChar) <> 8 Then ' Если введенный символ не является BackSpase:
    If Asc(e.KeyChar) >= 48 And Asc(e.KeyChar) <= 57 Then ' Теперь посмотри в таблицу ASCII кодов, коды от 48 до 57 - цифры, при помощи функции Asc введеный символ преобразуется в ASCII код, и если он является числом(от 0 до 9), то не выполняем никаких действий
    Else ' Если же ASCII код не является числом, то:
    e.Handled = True ' В VB.Net в отличие от предыдущих версий значение свойства KeyChar нельзя сбросить, т.к. оно только для чтение. И поэтому придется поглотить введенный символ, для этого надо установить значение свойства e.Handled = True
    End If
    End If
    End Sub
    
    Исходник
     
    • Like Like x 3
    Последнее редактирование: 2 сен 2015
  6. Hemul

    Hemul

    Регистрация:
    30 ноя 2014
    Сообщения:
    280
    Симпатии:
    195
    мля, вставляй через код... так хоть переноситься, читать нереально просто
     
    • Like Like x 1
    • Agree Agree x 1
  7. TopicStarter Overlay
    Maxim+

    Maxim+

    Регистрация:
    1 сен 2015
    Сообщения:
    66
    Симпатии:
    60
    Я уже все исправляю
     
    Последнее редактирование: 2 сен 2015
  8. TopicStarter Overlay
    Maxim+

    Maxim+

    Регистрация:
    1 сен 2015
    Сообщения:
    66
    Симпатии:
    60
    В VB.Net появилось очень много событий для работы с мышью, которых просто не хватало в предыдущих версиях VB. Вот список всех событий, которые есть у большинства объектов:

    MouseDown - Событие происходит когда клавиша мышки переходит в нажатое состояние
    MouseUp - Событие происходит когда клавиша мышки переходит в отжатое состояние
    MouseMove - Событие происходит когда курсор перемещается по объекту
    MouseLeave - Очень нужное событие которого не хватало предыдущих версиях VB. Оно происходит когда курсор отводится с объекта.
    MouseEnter - Событие происходит когда курсор вводится на объект
    Click - Событие происходит при клике на объекте
    DoubleClick - Событие происходит при двойном клике на объекте
    Свойства переменной e:

    X - Координаты мыши по оси X
    Y - Координаты мыши по оси Y
    Clicks - Количество сделанных кликов за раз
    Button - Используется в основном в связке с оператором IF .. Then .. End if, может принимать следующие значения:
    MouseButtons.Left - Нажата левая кнопка
    MouseButtons.Middle - Нажата средняя кнопка
    MouseButtons.Right - Нажата правая кнопка
    Чтобы было понятней сделаем программку, на форме ни чего не размещай, вот код:
    Код:
    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown ' При нажатии кнопки мыши по форме определяем какая кнопка мыши была нажата
    If e.Button = MouseButtons.Right Then MsgBox("Нажата правая кнопка мыши")
    If e.Button = MouseButtons.Left Then MsgBox("Нажата левая кнопка мыши")
    End Sub
    
    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove ' При передвижении курсора по форме определяем его координаты
    Form1.ActiveForm.Text = e.X & " X " & e.Y
    End Sub 
    Please login or register to view links
    Создание меню в VB.Net как и в предыдущих версиях VB очень просто, но принцип создания сильно изменился. Сейчас мы сделаем такое меню:

    [​IMG]

    Для этого размести на форме объект MainMenu, он должен появиться не на самой форме, а под ней. Теперь выдели объект MainMenu, и на месте слова 'Type Here' вписывай разделы(выдели раздел и измени свойство Text).

    Имена разделов/подразделов меню генерируются автоматически(в отличии от меню VB6): MenuItem1, MenuItem2... Их можно изменить в окне свойств. Еще в процессе проектирования меню можно поставить флажок, для этого надо кликнуть левее от раздела/подраздела. Чтобы сделать строчку(как показано на рисунке, над разделом 'Выход'), надо у раздела в поле Text вписать '-'
    У разделов и подразделов меню есть события:

    Click - происходит при клике
    Select - происходит при выделении раздела меню
    Popup - Если раздел имеет подразделы(как показано на рисунке, раздел 'Уровень' имеет подразделы), то событие происходит тогда, когда список подразделов выдвигается
    Свойства:
    Checked - если значение равно True то напротив раздела будет флажок
    RadioCheck - если значение равно True то напротив раздела будет переключатель. Свойство меняется только если значение свойства Checked = True. Так что в начале нужно изменить свойство Checked, а потом RadioCheck
    RightToLeft - Если значение этого свойство установить 'No', то меню будет слева, если 'Yes' то

    с право
    Теперь что - то наподобие задания:
    Сделай программу, в которой при клике на раздел меню, если нет переключателя, то он появляется, если есть то убираться.
    Контекстное меню - это такое меню, которое вызывается при клике правой кнопкой мыши по объекту. Например сейчас мы сделаем вот такое меню:

    [​IMG]

    Для этого на форме размести объект ContexMenu, сделай в нем несколько разделов(они создаются точно так же как и в обычном меню). На форме размести кнопку, и у кнопки в окне свойств измени свойство ContexMenu на имя нашего меню(ContexMenu1). Теперь нажми F5, и кликни правой кнопкой мыши по кнопке.
    Все что было перед этим шагом - введение. Все что ты делал было в основном визуальное построение, т.е. почти без кода. Начиная с этого шага будет минимум визуального построения, и максимум кода.
    В VB.Net вся программа состоит из самостоятельных объектов, взаимодействующих друг с другом. Объекты создаются по шаблонам. Эти шаблоны называют классами. Объекты создаются ключевым словом New. Т.е. все объекты расположенные на форме созданы по - базовому классу. Например, кнопка создается по классу Button.
    Создание объектов по шаблонам(классам) называется наследованием. Если ты программировал на VB6 то по началу тебе будет очень не привычно, т.к. в VB6 наследования не было. И вообще, VB6 в отличии от VB.Net очень ограниченный язык, в нем без API функций нельзя написать ни одной программы(а в VB.Net практически отпадает потребность использовать API функции).
    По началу изучения VB.Net он может показаться сложным, и многие наверное захотят перейти на Delphi(и ему подобные), я хочу посоветовать, всем кто хочет забить на VB.Net, чтобы они не торопились, и хотя бы недельку ему поучились. Я сам после двух дней учебы VB.Net хотел забить на него, и перейти на Делфи. Да скорее всего и перешел бы. Хорошо что windows заглючил, и я по ошибке отформатировал жесткий диск. И от не чего делать(все стерлось, даже пароли от инет карточки..) мне пришлось VB.Net изучать. Да и вообще, VB.Net - это лучший язык.
    Для работы с файлами есть класс File. Он используется для работы над файлами(удаление, перемещение...).
    Для начала немного теории о пространстве имен:
    В .Net очень много классов, и многие из них имеют одинаковые имена. И чтобы имена не повторялись есть в .Net такая штука 'Пространство имен', т.е. к классу нужно обращаться не по его имени, а в начале нужно написать пространство имен, а только потом имя класса. Для работы с файлами и папками есть пространство именSystem.IO
    Для объявления класса File надо написать так:
    Код:
    Dim a As System.IO.File ' Объявляем переменную a как класс File, входящий в пространство имен System.IO
    
    Теперь можно будет через переменную a работать с файлами. На форме размести 7 кнопок:

    Button1 - измени свойство Text на "Создать файл"
    Button2 - измени свойство Text на "Удалить"
    Button3 - измени свойство Text на "Копировать"
    Button4 - измени свойство Text на "Переместить"
    Button5 - измени свойство Text на "Переименовать"
    Button6 - измени свойство Text на "ИНФО"
    Button7 - измени свойство Text на "Изменить атрибуты"Теперь код:
    Код:
    Dim a As System.IO.File
    
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    a.Create("D:12212.txt") ' Создаем новый текстовой файл с именем 12212.txt
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    a.Delete("D:12212.txt")' удаляем файл с именем 12212.txt
    End Sub
    
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    a.Copy("D:Test1.txt", "D:Test11.txt") ' Копируем файл
    End Sub
    
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    a.Move("D:Test1.txt", "D:Test11.txt") ' Перемещаем
    End Sub
    
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
    a.Move("D:Test1.txt", "D:Test2.txt")' Переименовываем
    End Sub
    
    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    MsgBox("Файл создан: " & a.GetCreationTime("D:Test1.txt"), , "")
    MsgBox("Файл открыт: " & a.GetLastAccessTime("D:Test1.txt"))
    MsgBox("Файл изменен: " & a.GetLastWriteTime("D:Test1.txt"))
    End Sub
    
    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
    ' Устанавливаем атрибуты:
    a.SetAttributes("D:", IO.FileAttributes.Hidden) 'Скрытый
    a.SetAttributes("S:", IO.FileAttributes.ReadOnly) 'Только для чтения
    a.SetAttributes("S:", IO.FileAttributes.Archive) 'Архивный
    End Sub
    
    Ну вот вроде бы и всё, для изменения/чтения файла есть класс StreamWriter и StreamReader. О них я напишу в следующих уроках.
    Please login or register to view links
     
    • Like Like x 1
    Последнее редактирование: 3 сен 2015

Поделиться этой страницей

Загрузка...