Public Class Form1 Private isMouseDown As Boolean = False 'признак удерживания кнопки мыши Private StartPoint As Point 'начальная позиция элемента управления Private Sub Label1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseDown If e.Button = Windows.Forms.MouseButtons.Left Then 'если нажата левая кнопка мыши isMouseDown = True StartPoint = e.Location 'запоминаем текущую позицию элемента управления Label1.Cursor = Cursors.SizeAll 'меняем вид указателя мыши над элементом управления End If End Sub Private Sub Label1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseUp isMouseDown = False Label1.Cursor = Cursors.Default 'восстанавливаем вид курсора End Sub Private Sub Label1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseMove If isMouseDown Then 'если кнопка мыши удерживается 'вычисляем новые координаты элемента управления Label1.Left += (e.X - StartPoint.X) Label1.Top += (e.Y - StartPoint.Y) End If End Sub Private Sub Label1_LocationChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label1.LocationChanged 'если большая часть элемента управления выходит за границу формы, возвращаем его в центр Dim w2 As Integer = Convert.ToInt32(Label1.Width / 2) Dim h2 As Integer = Convert.ToInt32(Label1.Height / 2) If Label1.Top < -h2 Or Label1.Left < -w2 Or Label1.Top > Me.ClientSize.Height - h2 Or Label1.Left > Me.ClientSize.Width - w2 Then Label1.Location = New Point(Convert.ToInt32(Me.ClientSize.Width / 2) - w2, Convert.ToInt32(Me.ClientSize.Height / 2) - h2) isMouseDown = False Label1.Cursor = Cursors.Default End If End Sub End Class
среда, 21 июля 2010 г.
VB.Net. Перетаскивание элемента управления мышью по форме
В данном примере мышью по форме перетаскивается элемент управления Label. Конечно, подобным образом может перетаскиваться и любой другой контрол, и не только по форме. Во время перемещения указателя мыши по элементу управления (при нажатой кнопке мыши) положение элемента управления изменяется на величину смещения указателя относительно исходной позиции контрола. Ну, вобщем, вроде бы, все понятно. :) Остальные комментарии смотрите в коде.
среда, 14 июля 2010 г.
Particly Screensaver
Программа-заставка Particly Screensaver отображает системное время или произвольный текст. Каждый символ состоит из набора частиц, которые случайным образом меняют свое положение при изменении отображаемого текста. В этой версии скринсейвера есть два вида частиц (плоские и "объемные") и три разных шрифта. Кроме того в настройках заставки можно поменять и другие параметры (цвет, скорость перемещения по экрану, вид искажения и др.)
У программы есть своя страничка в Софтпедии, где гарантируется, что никакого вредоносного ПО заставка в себе не содержит. Пользуйтесь на здоровье!
ОС: Windows
Требования: Microsoft DirectX 7 или более поздняя версия
Лицензия: Freeware
Язык: English
Версия: 0.9.2
У программы есть своя страничка в Софтпедии, где гарантируется, что никакого вредоносного ПО заставка в себе не содержит. Пользуйтесь на здоровье!
ОС: Windows
Требования: Microsoft DirectX 7 или более поздняя версия
Лицензия: Freeware
Язык: English
Версия: 0.9.2
Particly.zip (464 КБ) |
G-Move или «Ход конем» (VB.Net)
Древняя логическая мини-игрушка про посещение одной известной шахматной фигурой полей игральной доски. Целью игры может быть: посещение всех полей игровой доски или посещение минимально-возможного количества полей. Передвигаться по игровой доске следует только определенным образом и до тех пор, пока существует такая возможность. Начать игру можно с произвольного поля, но побывать в любом из полей можно только один раз. Максимальный результат — 100%, т.е. посещение всех полей, а минимальный — не более 12% (меньше мне набрать не удалось). Текущая позиция, возможные ходы, посещенные поля отличаются друг от друга цветами. Цвета эти можно поменять в настройках программы. Если включить режим «автопилот», программа попробует поиграть в себя сама. И хотя руководствуется при выборе очередного хода она отнюдь не логикой, а исключительно генератором случайных чисел, тем не менее иногда ей все же удается показывать неплохие результаты, которые тут же бережно записываются в таблицу рекордов.
ОС: Windows
Требования: Microsoft .NET Framework 2.0
Лицензия: Freeware
Язык: English, Русский
Версия: 1.1.0
ОС: Windows
Требования: Microsoft .NET Framework 2.0
Лицензия: Freeware
Язык: English, Русский
Версия: 1.1.0
GMoveSetup.zip | (224 КБ) | Установщик с игрушкой | |
GMove.zip | (655 КБ) | Проект с исходниками для Visual Studio 2008 |