0
국경을 숨기려면 System.Windows.Forms.ListBox()
이 있습니까?'System.Windows.Forms.ListBox()'테두리를 숨기는 방법이 있습니까?
국경을 숨기려면 System.Windows.Forms.ListBox()
이 있습니까?'System.Windows.Forms.ListBox()'테두리를 숨기는 방법이 있습니까?
누구든지 관심이 있다면 ...이게 효과가있는 것 같습니다. 다른 하나는 소형 프레임 워크에 적합하지 않습니다.
public Form1()
{
InitializeComponent();
ShowBorder(listView1.Handle, false);
}
private void ShowBorder(IntPtr handle, bool bShow)
{
int style = GetWindowLong(handle, GWL_STYLE);
if (bShow)
{
style |= WS_BORDER;
}
else
{
style &= ~WS_BORDER;
}
SetWindowLong(handle, GWL_STYLE, style);
SetWindowPos(handle, IntPtr.Zero, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
}
const int GWL_STYLE = -16;
const int WS_BORDER = 0x00800000;
const int SWP_NOSIZE = 0x1;
const int SWP_NOMOVE = 0x2;
const int SWP_FRAMECHANGED = 0x20;
[DllImport("coredll.dll")]
private static extern int GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("coredll.dll")]
private extern static void SetWindowLong(IntPtr hwnd,
int nIndex, int dwNewLong);
[DllImport("coredll.dll")]
private static extern bool SetWindowPos(IntPtr hwnd,
IntPtr hWndInsertAfter,
int x, int y,
int cx, int cy, int uflags);