Нестабильный результат \ скольжение или всплывающее окно WF
Здравствуйте друзья
У меня есть небольшая проблема во время скользящей формы windows, используя этот код, я получаю нестабильную конечную позицию(каждый раз, когда я снова запускаю свой проект, я получаю другой результат), например, прикрепляю фотографию.
пожалуйста, если кто-нибудь может объяснить, что не так, или отредактировать мой код.
извините, если мой код прост (я все еще новичок).
заранее спасибо.
xxxx.PNG - Google Диск[^][^]
Что я уже пробовал:
Dim mve as integer Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load, RefreshToolStripMenuItem.Click Form1.Location = New Point(SystemInformation.WorkingArea.Right - (Form1.Width), SystemInformation.WorkingArea.Bottom ) end sub '------------------------------------------------------------------------------------- Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick mve = mve + 1 If mve = 100 Then Timer2.Stop() End If Me.Location = New Point(Me.Location.X, Me.Top - 10) end sub
Richard MacCutchan
Скорее всего, потому что Me.Top меняется по мере перемещения формы. Попробуйте захватить позиции X и Y при загрузке формы, а затем корректировать и использовать эти значения каждый раз, когда вы перемещаете форму.
Mustafa M. Al-Nassah
спасибо Ричард,
я стараюсь запечатлеть (Х,Y координат) в виде нагрузки
mycrntpstn = me.location.y
Me.Location = Новая Точка(Me.Location.X, mycrntpstn - 10)
но результат все равно как он есть :(
основная проблема заключается в следующем: начальная позиция всегда одинакова при запуске приложения, так почему же каждый запуск будет иметь разный результат ?
Richard MacCutchan
Вам необходимо скорректировать значение mycrntpstn
каждый раз. Если он продолжает отказывать, то вам нужно каждый раз регистрировать значения, чтобы вы могли видеть, где он идет не так.
Mustafa M. Al-Nassah
спасибо Ричард,
его работа после того, как я удалю код автоматической шкалы моего приложения :)
Форма 1.AutoScaleDimensions = Новая Система.Рисование.SizeF(96.0!, 96.0!)
Форма 1.AutoScaleMode = Система.Окна.Формы.Автоскалемод.Dpi