[c#] ToolStripMenuItem의 왼쪽 여백 없애기
.네트의 ToolStripMenuItem은 text 왼쪽에 아이콘이 출력되는 공간을 갖는다. 많은 경우 메뉴 아이템에 아이콘을 넣지 않는다. 이러면 텍스트 왼쪽에 애먼 공간만 덩그러니 놓인다. 이걸 없애려면 아래와 같이 한다.
.네트의 ToolStripMenuItem은 text 왼쪽에 아이콘이 출력되는 공간을 갖는다. 많은 경우 메뉴 아이템에 아이콘을 넣지 않는다. 이러면 텍스트 왼쪽에 애먼 공간만 덩그러니 놓인다. 이걸 없애려면 아래와 같이 한다.
LinkedList를 공부하면서 이게 배열이나 List와 어떻게 다른가는 복잡하게 익히지만 정작 이걸 언제 쓰는 게 좋은지에 대해서는 모르는 사람들이 많다. LinkedList는 이터래이트를 하면서 컬렉션의 아이템을 추가하고 없앨 때 제격이다. 배열이나 List로는 이를 제대로 구현할 수 없다. 아래는 정수로 이뤄진 컬렉션에서 홀수들을 찾아 없애는 c# 예제다. 여느 컬렉션들의 item을 LinkedList에서는 node라 한다. 노드는 next라는 프라퍼티를 갖기 때문에…
예를 들어 조건을 만족하는 주식 종목들의 이름을 리스트의 형태로 출력하는 경우를 생각해 본다. 이름들을 한꺼번에 출력할 수 있고 가격 등이 변하여 조건을 만족하면 추가하여 출력할 수도 있다. 이들 가운데에 일부는 글꼴의 형태를 굵게 하거나 색을 바꿀 수 있으며 순서를 바꿀 수도 있다. 이런 기능들을 위해서는 어떤 비주얼 오브젝트를 쓰는 게 좋을까? 문자열을 리스트의 형태로 출력할…
rtf를 적용한 문자열을 .네트의 richTextBox에 어싸인하면 커서는 문자열의 제일 끝으로 간다. richTextBox의 가로 스크롤 바를 활성화한 경우에는 문자열의 왼쪽이 잘려 보일 수 있다. 이 문제를 해결하기 위해 문자열의 끝에 줄을 바꾸는 \par를 붙여 봐도 소용이 없다. 이거 하나만으로는 줄이 바뀌지 않기 때문이다. \par는 그 뒤에 무언가가 올 때 비로소 작동한다. 따라서 richTextBox에 문자열을 어싸인한 뒤…
64 비트 윈도우즈에서 32 비트 애플리캐이션을 써야 할 때가 있다. 32 비트 라이브러리를 써야 하는 경우가 대표적인 예다. 이때 이론적으로는 2gb까지 메모리를 쓸 수 있지만 사실적으로는 1gb를 조금 넘은 때 애플리캐이션이 멈춘다. 64 비트 윈도우즈에서 32 비트 애플리캐이션은 이론적으로 메모리를 4gb까지 쓸 수 있다. 사실적으로는 3gb를 조금 넘게 이용할 수 있다. 컴파일을 할 때 largeaddressaware…
코딩을 하다가 잠깐 확인을 해 봐야 하는 내용이 있을 수 있다. 예를 들면 이런 거다. ++count와 count++의 차이가 잠깐 헷갈려서 테스트를 해 보는 상황이다. 이럴 땐 interactive window를 이용하면 된다. view > other windows > c# interactive 엔터 키를 누르면 실행이 된다.
t1637을 이용하면 특정 종목의 프로그램 매매 대이터를 한 번에 최고 100 영업일 꺼까지 다운로드할 수 있다. 프로그램 매매가 모든 종목들을 대상으로 이루어지는 건 아니다. 프로그램 매매로 거래가 되지 않은 종목에 대해 위의 트랜잭션으로 리퀘스트를 하면 서버는 널을 보내지 않고 아예 리퀘스트 응답 패킷을 보내지 않는다. 이례적인 방법이다. 비슷한 경우 보통은 빈 대이터를 보내므로 이걸 받아서…
흔히 애플리캐이션을 종료할 때 아래의 방법들을 쓴다. 위 방법들의 문제는 form closing 이벤트가 실행된다는 거다. 이 이벤트에 무언가 내용이 있다면 실행이 될 텐데 그렇다면 강제 종료가 아니다. 묻지도 따지지도 않고 강제로 끝내 버리려면 아래와 같이 한다. 첫째 방법은 말 그대로 매인 뜨레드만 종료한다. 따라서 여전히 작동하고 있는 다른 뜨레드가 있다면 마치 애플리캐이션이 종료된 거처럼 보여도…
To read from a performance counter, create an instance of the PerformanceCounter class, set the CategoryName, CounterName, and, optionally, the InstanceName or MachineName properties, and then call the NextValue method to take a performance counter reading.– PerformanceCounter Class CategoryName과 CounterName을 아규먼트로 넣어야 하는데 InstanceName 등은 넣어야 할 때가 있고 그러지 않아도 될 때가 있다는 말이다….