Mustafa M. Al-Nassah Ответов: 0

Нестабильный результат \ скольжение или всплывающее окно 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

0 Ответов