PDA

View Full Version : مشکل در تبدیل این کد به .net



h_a_m_i_d
دوشنبه 07 فروردین 1391, 08:36 صبح
سلام خدمت دوستان عزیز و گرامی من این کد که کارش قرار دادن فرم روی تمام پنجره هاست رو به دات نت تبدیلش کردم اما درست کار نمیکنه میشه بگین مشکل از کجاست(فرم به جای قرار گرفتن روی تمام صفحات تنها ریسایز میشه)

................................کد با vb6.............................
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
Private Sub SetTopMost(frm As Form, ByVal blnMod As Boolean)
If blnMod Then
SetWindowPos frm.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
Else
SetWindowPos frm.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End If
End Sub
Private Sub Check1_Click()
Call SetTopMost(Me, Check1.Value)
End Sub
.......................کد تبدیل شده به دات نت..........................
Public Class Form1
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40

Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
Private Sub SetTopMost(ByVal hwnd As IntPtr, ByVal blnMod As Boolean)
If blnMod Then
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE)
Else
SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE)
End If
End Sub

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
Call SetTopMost(Me.Handle, CheckBox1.Checked)
End Sub
End Class

.................................................. .................................................. .........................................
ممنون میشم اگر کمکم کنید

Hybrid
دوشنبه 07 فروردین 1391, 10:16 صبح
سلام ،

چرا اینقدر کد نویسی کردی ؟؟!!!!

خاصیت TopMost فرم رو برابر True کن.

موفق باشید./