Programming/c# & winform2020. 11. 19. 17:07

PictureBox 옮길때 두번 뜨는 경우가 있어서 문제가 덜해질까 하고 했는데

별반 차이가 없다.. ㅠㅠ

다른 좋은 방법이 없으려나?

 

[링크 : https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.control.doublebuffered]

[링크 : https://www.codeproject.com/Questions/1163589/How-can-I-refresh-image-in-picturebox-whitout-flic]

 

+ 2020.11.23

 

해도 효과는 없네.. 다른 것의 영향인가?

[링크 : http://blog.daum.net/chunildongan77/116]

[링크 : https://developer-joe.tistory.com/95]

 

패널에 그리거나 위에 패널을 더블버퍼링 하는게 답인가?

[링크 : https://stackoverflow.com/questions/53110668/moving-picture-box-fast-causes-flickering-c-sharp]

'Programming > c# & winform' 카테고리의 다른 글

c# winform double buffer  (2) 2020.11.19
c# textbox 수정은 불가능하게 선택은 가능하게  (0) 2020.11.18
c# label 오른쪽 정렬  (0) 2020.11.17
c# winform button  (0) 2020.11.17
c# string to byte array  (0) 2020.11.17
c# winform 창 크기 고정하기  (2) 2020.11.13
Posted by 구차니

댓글을 달아 주세요

  1. 표박사

    재밌는걸 하시는군요

    2020.11.20 13:39 [ ADDR : EDIT/ DEL : REPLY ]

Programming/c# & winform2020. 11. 18. 11:28

그게 바로 readonly

textbox.ReadOnly = true;

 

[링크 : https://stackoverflow.com/questions/13107752/how-to-make-a-textbox-disable-but-selectable]

'Programming > c# & winform' 카테고리의 다른 글

c# winform double buffer  (2) 2020.11.19
c# textbox 수정은 불가능하게 선택은 가능하게  (0) 2020.11.18
c# label 오른쪽 정렬  (0) 2020.11.17
c# winform button  (0) 2020.11.17
c# string to byte array  (0) 2020.11.17
c# winform 창 크기 고정하기  (2) 2020.11.13
Posted by 구차니

댓글을 달아 주세요

Programming/c# & winform2020. 11. 17. 18:12

autosize 끄고

TextAlign을 MiddleRight로 하면 된다.

 

 

[링크 : https://stackoverflow.com/questions/21218729/how-do-i-align-my-text-in-a-label-to-the-right-side]

'Programming > c# & winform' 카테고리의 다른 글

c# winform double buffer  (2) 2020.11.19
c# textbox 수정은 불가능하게 선택은 가능하게  (0) 2020.11.18
c# label 오른쪽 정렬  (0) 2020.11.17
c# winform button  (0) 2020.11.17
c# string to byte array  (0) 2020.11.17
c# winform 창 크기 고정하기  (2) 2020.11.13
Posted by 구차니

댓글을 달아 주세요

Programming/c# & winform2020. 11. 17. 15:47

버튼을 깔끔하게 만드는 법

1. 배경 이미지로 넣고 이미지 크기 조절 (버튼 이미지로 넣으면 이미지 크기가 조절 안됨)

2. 버튼의 border를 flatstyle로 제거

 

[링크 : https://stackoverflow.com/questions/7385935/how-can-i-make-the-image-size-smaller-on-a-button]

[링크 : https://blog.edit.kr/entry/Button-테두리border-없애기]

'Programming > c# & winform' 카테고리의 다른 글

c# textbox 수정은 불가능하게 선택은 가능하게  (0) 2020.11.18
c# label 오른쪽 정렬  (0) 2020.11.17
c# winform button  (0) 2020.11.17
c# string to byte array  (0) 2020.11.17
c# winform 창 크기 고정하기  (2) 2020.11.13
c# winform always on top = TopMost  (2) 2020.11.13
Posted by 구차니

댓글을 달아 주세요

Programming/c# & winform2020. 11. 17. 10:18

 

[링크 : https://zephie.tistory.com/11]

'Programming > c# & winform' 카테고리의 다른 글

c# label 오른쪽 정렬  (0) 2020.11.17
c# winform button  (0) 2020.11.17
c# string to byte array  (0) 2020.11.17
c# winform 창 크기 고정하기  (2) 2020.11.13
c# winform always on top = TopMost  (2) 2020.11.13
c# winform 기본 폰트 변경하기  (2) 2020.11.13
Posted by 구차니

댓글을 달아 주세요

Programming/c# & winform2020. 11. 13. 16:48

문득 MFC 시절에 찾아봤던것 같은 느낌이...

 

 

[링크 : https://stackoverflow.com/questions/7970262/disable-resizing-of-a-windows-forms-form]

Posted by 구차니

댓글을 달아 주세요

  1. Zeliper

    MFC는 WINAPI가 강력하게 구현되어있어서 Fixed 구현이 깔끔하게 되지만, C#의 경우
    Fixed를 쓰면 뭔가 불편한 느낌이 있어서, Sizable폼에 Anchor랑 스플리터 이용해서 구현을 자주 하게 되네요...

    2020.11.13 23:59 [ ADDR : EDIT/ DEL : REPLY ]
    • anchor는 첨보는거라 한번 찾아봐야겠습니다 ^^;

      2020.11.16 21:48 [ ADDR : EDIT/ DEL ]

Programming/c# & winform2020. 11. 13. 16:27

InitializeForm() 에

this.TopMost = true;

하면 끝이긴한데.. 문제는 자식 다이얼로그 보다도 위로 가버려서

띄우자 마자 자식 다이얼로그가 사라져버린다.

 

다이얼로그 속성에도 있으니 굳이 코드로 입력하지 않아도 된다.

 

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.windows.forms.form.topmost?view=net-5.0]

Posted by 구차니

댓글을 달아 주세요

  1. Zeliper

    어쩔수 없이 자식 다이얼로그의 포커스에 따라서 TopMost 설정을 바꿔주는 작업을 하게 되죠...

    2020.11.14 00:20 [ ADDR : EDIT/ DEL : REPLY ]
    • 서로 TopMost면 또 의미가 없긴 하더라구요 ㅎ
      그경우에 대한 우선순위도 찾아봐야겠어요.
      그리고 작업표시줄은 더 우선이더라구요

      2020.11.16 21:47 [ ADDR : EDIT/ DEL ]

Programming/c# & winform2020. 11. 13. 14:19

아래처럼 다이얼로그 초기화 하기전에

this.Font를 강제로 지정하면 폰트가 변경된다.

public MainDialog()
{
    //this.Font = SystemFonts.MessageBoxFont;
    this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
    InitializeComponent();
    InitializeForm();
}

[링크 : https://stackoverflow.com/questions/297701/default-font-for-windows-forms-application]

 

단, 다이얼로그의 속성중 AutoScaleMode를

Font에서 None으로 바꾸어 주어야 폰트가 바뀐다고 디자인이 깨지지 않는다

(물론 Label이 너무 가까이 있으면 덮어써지는건 매한가지니 주의)

Posted by 구차니

댓글을 달아 주세요

  1. Zeliper

    이런 해결방법도 있었군요.. 배워갑니다.

    2020.11.14 00:12 [ ADDR : EDIT/ DEL : REPLY ]
    • 확실히 MFC 시절보다 GUI로 되는게 더 많은 느낌이에요 ㅎ

      2020.11.16 21:46 [ ADDR : EDIT/ DEL ]

Programming/c# & winform2020. 11. 12. 18:08

기본 폰트가 굴림이라 다른걸로 바꾸려고 하니

이미 다른 컨트롤들은 굴림으로 되어버렸고

그 와중에 다이얼로그 크기가 확 바뀌어리길래 찾아보니

AutoScaleMode 라는게 존재하는데 기본값이 Font로 되어있어서 폰트를 바꾸면 그에 맞게 크기게 변경된다.

None으로 해주는게 나을것 같긴한데..

그나저나 영문 윈도우 기본 폰트는 먼지 검색이 안되네..

 

 

 

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.windows.forms.autoscalemode?view=net-5.0]

[링크 : https://mydoh.tistory.com/27]

 

+

2020.11.13

Microsoft Sans Serif, 8이 기본인가?

[링크 : https://youtu.be/-LO4A5rapek?t=43]

Posted by 구차니

댓글을 달아 주세요

  1. Zeliper

    기본 폰트의 경우 OS와 언어 설정에 따라 바뀝니다.

    Windows NT 4x, Japanese version -> MS UI Gothic, 9 point
    Arabic Windows -> Tahoma, 8 point
    Other operating system/culture -> MS Shell Dlg logical font, typically Microsoft Sans Serif, 8 point
    참조 : https://docs.microsoft.com/en-us/dotnet/api/system.drawing.systemfonts.defaultfont?view=dotnet-plat-ext-5.0

    이미 완성된 컨트롤들의 언어설정을 한번에 바꾸려는 경우에는 모든 컨테이너와 컨트롤을 순회하면서 폰트를 수정하도록 코드를 작성하여야 하고, 디자이너 창에서도 적용된 폰트를 보기위해서는 모든 컨트롤을 선택한 상태로(윈폼에서 Ctrl+A) 속성창에서 Font를 수정하거나, 각 폼의 Desiner.cs 파일을 수정하는 수밖에 없습니다.
    그러니 이미 규모가 커진 프로그램이라면 ㅠ.....

    2020.11.14 00:10 [ ADDR : EDIT/ DEL : REPLY ]

Programming/c# & winform2020. 11. 10. 17:38

DateTime이 강력하고 편하긴 한데

unix epoch time이나 상수로 시간을 지정하는 등의 기능을 제공하지 않아서

시간 관련 구조체를 찾아보는 중.

 

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.datetime?view=netcore-3.1]

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.datetimeoffset?view=netcore-3.1]

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.datetimeoffset.tounixtimeseconds?view=netcore-3.1]

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.datetimekind?view=netcore-3.1]

[링크 : https://docs.microsoft.com/ko-kr/dotnet/standard/datetime/converting-between-time-zones]

 

+ 2020.11.11

[링크 : https://docs.microsoft.com/ko-kr/dotnet/standard/datetime/converting-between-datetime-and-offset]

[링크 : https://docs.microsoft.com/ko-kr/dotnet/standard/datetime/choosing-between-datetime]

 

DateTime.Ticks 의 경우 1970년 1월 1일 0시 0분 0초의 epoch 보다는 엄청 늘어난 long type을 반환한다.(singed 64bit)

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.datetime.ticks?view=net-5.0]

[링크 : https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/builtin-types/integral-numeric-types]

Posted by 구차니

댓글을 달아 주세요