c# ComboBox 잔기술들

dictionary 바인드하기 딕셔너리 자체를 바인드하는 게 아니라 키나, 밸류의 필드를 해야 하는 거에 유의한다. wpf DataColumn 바인드하기 wpf의 콤보박스는 ComboBox.DisplayMember가 아니고 ComboBox.DisplayMemberPath를 이용한다.

c# RichTextBox 줄 간격 설정하기

좀 복잡하다. RichTextBox는 윈도우즈 차원에서 제공되는 컨트롤인데 델파이와 달리 .네트는 win32 api를 제대로 랩wrap하지 않아서 아래와 같이 win32 api를 직접 제어해야 한다. SendMessage의 아규먼트로는 아래와 같이 IntPtr을 넣는 게 원칙이긴 한데 조금 더 복잡하다.

c# RichTextBox 출력 빠르게 하기

RichTextBox.AppendText는 느리다. 수십 줄 출력하는 데에도 그려지는 게 보일 정도다. 아래의 방법들을 쓰면 빠르게 출력된다. RichTextBox.BeginUpdate/EndUpdate 만들기 일반적인 비주얼 컨트롤들의 경우 BeginUpdate/EndUpdate가 있다면 이걸 쓰는 게 빠르다. AppendText로 추가되는 내용을 바로바로 출력하는 게 아니라 출력을 멈췄다가 추가할 것들을 다 추가한 뒤 한꺼번에 출력하는 거다. 하지만 RichTextBox에는 BeginUpdate/EndUpdate가 없다. 아래와 같이 상속해서 써야 한다. String.Join 이용하기…

[c#] RichTextBox RTF(rich text format) 기본적인 이용 방법

TextBox는 메모장이고 RichTextBox는 워드패드다. 문자열에 스타일을 적용하려면 RichTextBox를 써야 한다. RichTextBox는 윈도우즈 차원에서 제공되는 것이며 .네트는 win32 api를 랩wrap하여 지원한다. 그러나 완벽하지는 않아서 높은 수준으로 이용하려면 직접 win32 api를 제어해야 한다. 스타일이 적용된 것은 rich text format이라 하며 줄여서 rtf라고 한다. 스타일을 제어하는 데에는 크게 세 가지 방법이 있다. 문자열을 입력하기 전에 스타일을 설정하기 스타일을…

시험대에 오른 미국의 어퍼머티브 액션

affirmative action은 직역하면 ‘긍정적 조치’라는 뜻이다. 사회적 강자들을 조금 희생시키고 사회적 약자들에게 특혜를 주는 거다. 특히 대학교 입학에 있어서의 인종별 배려가 문제된다. 미국에서는 주에 따라 대학교의 이러한 차별을 법으로 인정하기도 하고 부정하기도 한다. 공화당 성향이 강해진 미국의 연방 대법원이 로 대 웨이드 판결을 뒤집은 데 이어 민주당 성향의 정책인 어퍼머티브 액션도 ‘헌법으로 보장해야 하는 것’인지…

c# 윈도우즈 폼즈의 form 잔기술들

폼 클래스의 위치 폼 클래스 코드는 네임스페이스에서 제일 위에 있어야 한다. 폼 클래스 코드 위에 다른 클래스 코드가 있으면 디자이너가 열리지 않는다. 디자이너는 파일의 첫 번째 클래스를 이용하여 작동하기 때문이다. 그러나 이거는 디자이너의 문제일 뿐이지 빌드의 문제는 아니다. 따라서 디자이너를 쓸 수 없을 뿐 빌드는 제대로 된다. The designer could not be shown for this…

종교 원리주의자들의 공동체

구약의 종교들 근본주의자들이 문제되는 종교는 주로 회교와 유태교다. 모두 구약을 경전으로 삼는 종교들이다. 신약을 경전으로 하며 공동체와 불화하는 근본주의자들에 대해서도 아래에서 다루겠지만 이들의 해악은 회교도와 유태교도에 비하면 점잖은 편이다. 일단 구약은 첫 부분에 이미 빼도 박도 못하게 단도리를 하고 시작한다. 원리주의가 없을래야 없을 수가 없는 구조다. 내가 너희에게 명령하는 말은 한마디도 보태거나 빼지 못한다.– 신명기…

c# round와 반올림

round의 뜻 round는 반올림이라는 뜻이 아니라 ‘특정 자리의 수를 올리거나 내려서 어림수로 만든다’는 의미로 동사다. ‘어림수’라는 명사로는 쓰이지 않는다. 명사인 어림수는 round number/figure라고 한다. 일부 영한사전들에는 반올림이라고 나와 있지만 이는 틀리다. round는 가까운 수로 바꿀 수 있고 먼 수로도 바꿀 수 있다. 컴퓨터 프로그래밍을 하다 보면 round towards zero라는 걸 만나게 되는데 이때에는 ‘내림floor‘이나 ‘버림truncate‘이…

c# DataGridView 잔기술들 5

칼럼 폭 자동 조절 셀 단위로 포맷하기 출력 포맷을 설정할 때에는 주로 칼럼 단위로 하지만 간혹 셀 단위로 해야 할 때도 있다. 아래와 같이 한다. 셀 단위로 색 바꾸기 위의 예제에서 Style.Format을 Style.Backcolor로 바꾸면 된다. 동적으로 바꾸고 싶으면 아래와 같이 DataGridView.CellPainting 이벤트를 쓰면 된다. 이 이벤트가 작동할 때 e.ColumnIndex와 e.RowIndex는 모두 -1 즉 헤더부터 시작하므로…