나는 현재 캘린더 그림이있는 프로그램을 만들고 있는데, 사용자가 주어진 금요일을 클릭하면 메시지 상자가 나타납니다. 현재 시도하고있는 방법은 날짜 위에 단추를 배치하는 것입니다. 그러나 단추를 보이지 않고 동시에 작동시킬 수있는 방법을 찾을 수 없습니다.버튼을 보이지 않게 만들지 만 기능을 유지하려면 어떻게해야합니까?
이것은 모두 C# Windows Forms 응용 프로그램에 있습니다.
아이디어가 있으십니까?
나는 현재 캘린더 그림이있는 프로그램을 만들고 있는데, 사용자가 주어진 금요일을 클릭하면 메시지 상자가 나타납니다. 현재 시도하고있는 방법은 날짜 위에 단추를 배치하는 것입니다. 그러나 단추를 보이지 않고 동시에 작동시킬 수있는 방법을 찾을 수 없습니다.버튼을 보이지 않게 만들지 만 기능을 유지하려면 어떻게해야합니까?
이것은 모두 C# Windows Forms 응용 프로그램에 있습니다.
아이디어가 있으십니까?
는 몇 가지 솔루션이 있습니다
대신 Button
의 빈 PictureBox
를 사용합니다. 이것은 당신이 원하는 말에 가장 가깝고 빠른 해결책입니다. 이 보조 PictureBox
은 배경색이 Transparent
으로 설정된 캘린더의 하위 항목이어야합니다. Windows.Forms의 투명성은 직계 부모에게만 적용됩니다 (이보다 더 복잡하지만 단순화 합니다).
PictureBox
에 MouseUp
이벤트를 사용하고, 버튼을 클릭 할 때 해당 컨트롤에서 마우스의 X 및 Y 위치를 찾기 위해 이벤트 핸들러에 인수로 제공되는 MouseEventArgs
를 사용합니다.사용 괜찮은 달력/날짜 선택기 컨트롤 대신 사실 중 하나 개
물질의 이미지를 보여주는의 : 나는 # 1을 보증하지 않으며, 그 이후 당신이 될 것 같다 무엇을 거기에 넣어 묻고. 차라리 # 2, # 3 (특별히 # 3)
PS로 갈 것 : 당신이 정말로 Click
을 시뮬레이션하려는 경우, 당신이 처리 할 필요가해야 모두 MouseDown
및 MouseUp
(클릭이 일반적으로 아래에 마우스 버튼을 눌러 의미 같은 컨트롤 내에서 컨트롤을 해제하는)
그림 상자를 사용할 때 원래 그림 위에 사각형이 없도록 투명하게되지 않습니다. , 비록 내가 다시 색상을 투명하게 설정합니다. – Alex
그림 상자를 다른 그림 상자의 자식으로 추가합니다 (배경색을 '투명'으로 설정). 그렇지 않으면 컨트롤을 "보여줍니다". WinForms의 PictureBox (WinForms는 불투명도를 계단식으로 처리하지 않음)의 경우에는 그럴 수 없습니다. 이것을 반영하도록 편집했습니다. – Jcl
당신은 (주석에 연결된 투명 버튼과 같은) 아무 것도 페인트하지 않는 다른 컨트롤을 만들 수도 있지만,이 솔루션에 대해서는 조언하지 않습니다. (빈'PictureBox'를 사용하지 말고, 그냥 달성하고자하는 것에 가장 가까운 솔루션이므로 퍼팅) – Jcl
왜 picture-control의 click 이벤트를 사용하고 x/y 좌표를 사용하여 금요일을 확인하지 않습니까? – ChrFin
나는 무엇을 하려는지 확실하지 않지만 대신 텍스트를 사용하지 않고 레이블을 사용할 수 있습니다. 그런 다음'lable-click' 이벤트를 사용 하시겠습니까? –
왜 이미지 대신 실제 컨트롤을 사용합니까? 대단히 어렵지 않아야하며 훨씬 더 융통성이 있습니다. – Crisfole