이제 WPF로 바꾸어보세요 (12)
5855 단어 VisualStudioVisualBasicC#WPF
시보 기능
일부 노망 문제는 미해결입니다만 메인 기능은 거의 형태가 되어 한점 남는 것이 시보 기능. 지정 시각 또는 매정시에 풍선적인 알림이 표시되는 기능입니다.
이런 녀석↓
![](https://s1.md5.ltd/image/fe8467101d910d9a517e5abb1625ee45.png)
보통 Toast 등을 사용할지도 모릅니다만 컴퍼넌트를 모르는 슬픔으로부터, VB+FORMS판에서는 아이 FORM을 작성해 메인측으로부터 지정 시각에 호출해, 아이 FORM측에 별도 설정한 타이머로 투명도를 가산·감산해 페이드 IN · OUT 표현과 표시 시간을 조정했습니다. VB↓
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'Timer intavalは20?位だったはず
Me.ticks.Text = CInt(Me.ticks.Text) + 1
Select Case CInt(Me.ticks.Text)
Case Is <= 100
Me.Opacity += 0.01 '2秒かけてフェードIN
Case 101 To 300 '4秒間通常表示
Case 300 To 400 '2秒かけてフェードOUT
Me.Opacity -= 0.01
Case Is > 400 '終わったら終わる
Me.ticks.Text = "0"
Me.Timer1.Enabled = False
Me.Hide()
Case Else
End Select
If Me.sec.Text <> Mid(Now.ToString("yyyyMMddHHmmss"), 13, 2) Then
Call MakeClockImage() 'お知らせ内にアナログ時計描画
Me.sec.Text = Mid(Now.ToString("yyyyMMddHHmmss"), 13, 2)
End If
Me.Refresh()
End Sub
당초 NotifyIcon용으로 인스톨한 Hardcodet.NotifyIcon에 있는 기능을 사용할까 생각했습니다만, 알림 화면내의 아날로그 시계를 리얼타임으로 움직이고 싶으므로, VB판과 유사한 방법으로 가기로 하겠습니다.
GRIDVIEW의 불행한 점
개별 설정한 시보 정보를 리스트 표시하는 기능으로, FORMS판의 LISTVIEW에서는 보통으로 IMAGELIST를 준비해, AddItem하면 좋은 느낌으로 아이콘을 붙여 등록할 수 있어, 삭제할 때도 마우스 포인터로 영역 선택하는 것으로 단번에 삭제할 수 있었습니다.
![](https://s1.md5.ltd/image/f7b217cbc38e827f0fd89d2bbc168552.gif)
WPF판에서는 Gridview를 이용해 XAML측에서 아이콘을 붙여 표시하고 있습니다만 마우스 조작하면 DragMove가 살아 버려 그러한 선택을 할 수 없고, 클릭해의 선택 밖에 할 수 없는 것 같고 약간 유감.
![](https://s1.md5.ltd/image/367fbed633b220788de8c2c128dd584c.gif)
추가 프레데터 문자
DrawLine에서 세그먼트 숫자 그리는 로직, 실수하면 갑자기 프레데터 맛에. 그러고 보니 게임이 나오는거야.
Reference
이 문제에 관하여(이제 WPF로 바꾸어보세요 (12)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Insetrect/items/90709b697a475db04f56
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'Timer intavalは20?位だったはず
Me.ticks.Text = CInt(Me.ticks.Text) + 1
Select Case CInt(Me.ticks.Text)
Case Is <= 100
Me.Opacity += 0.01 '2秒かけてフェードIN
Case 101 To 300 '4秒間通常表示
Case 300 To 400 '2秒かけてフェードOUT
Me.Opacity -= 0.01
Case Is > 400 '終わったら終わる
Me.ticks.Text = "0"
Me.Timer1.Enabled = False
Me.Hide()
Case Else
End Select
If Me.sec.Text <> Mid(Now.ToString("yyyyMMddHHmmss"), 13, 2) Then
Call MakeClockImage() 'お知らせ内にアナログ時計描画
Me.sec.Text = Mid(Now.ToString("yyyyMMddHHmmss"), 13, 2)
End If
Me.Refresh()
End Sub
개별 설정한 시보 정보를 리스트 표시하는 기능으로, FORMS판의 LISTVIEW에서는 보통으로 IMAGELIST를 준비해, AddItem하면 좋은 느낌으로 아이콘을 붙여 등록할 수 있어, 삭제할 때도 마우스 포인터로 영역 선택하는 것으로 단번에 삭제할 수 있었습니다.
![](https://s1.md5.ltd/image/f7b217cbc38e827f0fd89d2bbc168552.gif)
WPF판에서는 Gridview를 이용해 XAML측에서 아이콘을 붙여 표시하고 있습니다만 마우스 조작하면 DragMove가 살아 버려 그러한 선택을 할 수 없고, 클릭해의 선택 밖에 할 수 없는 것 같고 약간 유감.
![](https://s1.md5.ltd/image/367fbed633b220788de8c2c128dd584c.gif)
추가 프레데터 문자
DrawLine에서 세그먼트 숫자 그리는 로직, 실수하면 갑자기 프레데터 맛에. 그러고 보니 게임이 나오는거야.
Reference
이 문제에 관하여(이제 WPF로 바꾸어보세요 (12)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Insetrect/items/90709b697a475db04f56
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(이제 WPF로 바꾸어보세요 (12)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Insetrect/items/90709b697a475db04f56텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)