C# .NET 프레임 워크- 양식의 한쪽에만 테두리
문제
나는 경험이없는 프로그래머이며 Windows의 프로그래밍에 완전히 익숙하지 않습니다.
나는 항상 원했던 작은 프로그램을 쓰고 있습니다. .NET 프레임 워크를 사용하여 C#을 사용하여 작성됩니다. 적어도 그게 내가 생각하는 것입니다. 프레임 워크와 .nets, Wind
어쨌든 나는 간단한 형태의 대상을 가지고 있습니다.
Form f = new Form() ;
f.Text = "" ;
f.ControlBox =false ;
이제 한쪽을 제외한 형태의 모든 경계를 제거하는 방법은 무엇입니까? 에서와 같이, 측면 경계는 가야하지만, 윗 국경은 머물러야합니다.
Formborderstyle에는 이것에 대한 것이 없습니다
또한 사람들은 어떻게 그러한 문제를 묻지 않고 스스로 해결합니까? 다른 코드를 봐? AA 책을 읽으시겠습니까? 특정 웹 사이트가 있습니까? 나는 Googled를 가지고 있었지만 아무것도 일어나지 않았습니다.
해결책
gidday,
불행히도 이것은 불가능합니다. 그러나 당신은 전체 테두리를 제거한 다음 형태로 자신을 그리고 onmousedown, onmouseup 및 onmousemove를 사용하여 자신의 드래그를 할 수 있습니다.
그러한 문제를 직접 해결하기 위해, 나는 문제를 구두로 표현하는 다양한 다양한 방법을 살펴보고 (예 : "Borderless Form", "Winform의 커스텀 테두리"등) 약간의 인터넷 검색을 보낼 것입니다. 내 상사가 현명하게 말했듯이, 생산성이 항상 당신이 삭감하는 코드에 관한 것은 아니며, 당신이 배울 수있는 것에 관한 것입니다.
편집 : 인기있는 표현이 진행됨에 따라 "Google은 All All"입니다. 가능성은 잠깐 동안 인터넷 검색을 할 수없고 여전히 아무것도 찾을 수 없다면 해결되지 않았거나 매우 드문 일입니다. 또 다른 방법은 몇 가지 좋은 책과 같은 좋은 책에 투자하는 것입니다. 훌륭한 프로그래머는 코딩에 능숙하지만 개발자 실제로 유용한 소프트웨어를 구축하는 데 능숙합니다. :)
다른 팁
formborderstyle.fixedsingle을 시도했다고 생각하십니까? 이것은 맨 위에 국경이있는 양식을 표시합니다. 어쨌든, 그렇지 않은 경우 양식 영역을 설정할 수 있습니다.
... 같은 ...
public static void HideBorders(Form form) { Rectangle newRegion = form.Bounds; Rectangle formArea = form.Bounds; Rectangle clientArea = form.RectangleToScreen(form.ClientRectangle); formArea.Offset(form.Location); newRegion.Offset(clientArea.X - formArea.X, 0); newRegion.Width = clientArea.Width; newRegion.Height = (clientArea.Y - formArea.Y) + clientArea.Height; form.Region = new Region(newRegion); }
무엇을 해야하는지 어떻게 알 수 있습니까? 당신이 언급 한 모든 것, 도움말 파일, 웹 포럼, 책. 가장 중요한 것은 연습, 연습, 연습입니다. 당신이 더 많이할수록 더 나아질 수 있습니다.
.NET 프레임 워크가 양식의 테두리와 제목 표시 줄의 그림을 Windows 자체로 위임하기 때문에 실제로 설명하는 것을 정확하게 수행하는 것이 가능하지 않다고 생각합니다. .
대신, 내가 할 일은 사용하는 것입니다 FormBorderStyle.None
그런 다음 수동으로 원하는 창 장식 (제목 막대, 테두리)을 그립니다.
"Borderless Form C#"에 대한 Google 검색은이 사이트를 상위 3 개 타격으로 나타냅니다.
- 경계없는 창 (java2s.com)
- C#의 투명한 경계없는 형태 (c-sharpcorner.com)
- Draggable Form : 양식의 어느 곳에서나 클릭하여 테두리 형태를 드래그합니다. (codeproject.com)