System.Drawing.Graphics 클래스 MeasureString 매서드 이용
>
public Size GetTextSize(IntPtr hdc, String str, Font font) { Graphics g = Graphics.FromHwnd(hdc); SizeF sizeF = g.MeasureString(str, font); return sizeF.ToSize(); }
http://code.msdn.microsoft.com/northwind/Release/ProjectReleases.aspx?ReleaseId=1401
1. MDF, LDF 파일 직접 연결
2. sql 쿼리 실행하여 DB 생성
1. MDF, LDF 파일 직접 연결
2. sql 쿼리 실행하여 DB 생성
http://www.microsoft.com/downloads/details.aspx?FamilyId=DD422B8D-FF06-4207-B476-6B5396A18A2B&displaylang=en
----------------------------------------------------------------
\fonttbl - 폰트테이블
\fn - 폰트번호
\fnil - 기본폰트 ( 종류 )
\fcharset0name - 폰트명
\colortbl; - 색상테이블
\redn\greenn\bluen - 색상
\cfn - 텍스트 글자 색상 선택 ( n : 추가한 색상 번호. 1부터 시작 )
\cbn - 텍스트 배경 색상 선택 ( n : 1 부터 시작 )
\fn - 폰트 선택 ( n : 추가한 폰트번호 )
\fsn - 폰트 사이즈 ( C# 폰트 사이즈 * 2 )
text - text 추가
\par - 다음줄
\tab - 탭
----------------------------------------------------------------
{\rtf1\fbidis\ansi\deff0
{\fonttbl{\f0\fnil\fcharset0굴림;}}
{\colortbl ;\red0\green0\blue0;\red255\green0\blue0;}
\viewkind4\uc1\pard\ltrpar
\cf2\f0\fs18 SELECT
\cf1\f0\fs18 *
}
제가 작성한 줄 순서대로 말씀드립니다. 실제로 저렇게 줄을 맞추실 필요는 없습니다.
맨 윗줄은 그대로 이용 하시면 될거 같고
두번째 줄은 사용할 폰트를 지정합니다. 저는 굴림 폰트만 지정 했네요.
추가로 폰트를 넣으시려면
{\fonttbl{\f0\fnil\fcharset0굴림;}{\f1\fnil\fcharset0굴림체;}}
이런식으로 추가하시면 됩니다.
세번째 줄에 사용할 색상을 지정합니다. 저는 검정, 빨강을 지정했네요.
이렇게 이용할 폰트 및 색상을 지정한 후에
실제 쓰고 싶은 방법으로 사용하면 됩니다.
\cf2\f0\fs18 SELECT
\cf1\f0\fs18 *
\cf2 는 forecolor를 2번째 것인 빨강으로 지정합니다.
\cf1 은 forecolor를 1번째 것인 검정으로 지정하는 것입니다.
만약 배경을 지정하려면 \cb 를 이용하시면 됩니다.
\f0 는 지정한 폰트인 굴림을 이용합니다.
\fs18 폰트의 사이즈는 18을 이용합니다. C#에서의 폰트 사이즈 2배로 지정하시면 됩니다.
위에것을 적으면
SELECT *
이렇게 나옵니다.
엔터는 \par 탭은 \tab 으로 이용하시면 됩니다.
----------------------------------------------------------------
\fonttbl - 폰트테이블
\fn - 폰트번호
\fnil - 기본폰트 ( 종류 )
\fcharset0name - 폰트명
\colortbl; - 색상테이블
\redn\greenn\bluen - 색상
\cfn - 텍스트 글자 색상 선택 ( n : 추가한 색상 번호. 1부터 시작 )
\cbn - 텍스트 배경 색상 선택 ( n : 1 부터 시작 )
\fn - 폰트 선택 ( n : 추가한 폰트번호 )
\fsn - 폰트 사이즈 ( C# 폰트 사이즈 * 2 )
text - text 추가
\par - 다음줄
\tab - 탭
----------------------------------------------------------------
{\rtf1\fbidis\ansi\deff0
{\fonttbl{\f0\fnil\fcharset0굴림;}}
{\colortbl ;\red0\green0\blue0;\red255\green0\blue0;}
\viewkind4\uc1\pard\ltrpar
\cf2\f0\fs18 SELECT
\cf1\f0\fs18 *
}
제가 작성한 줄 순서대로 말씀드립니다. 실제로 저렇게 줄을 맞추실 필요는 없습니다.
맨 윗줄은 그대로 이용 하시면 될거 같고
두번째 줄은 사용할 폰트를 지정합니다. 저는 굴림 폰트만 지정 했네요.
추가로 폰트를 넣으시려면
{\fonttbl{\f0\fnil\fcharset0굴림;}{\f1\fnil\fcharset0굴림체;}}
이런식으로 추가하시면 됩니다.
세번째 줄에 사용할 색상을 지정합니다. 저는 검정, 빨강을 지정했네요.
이렇게 이용할 폰트 및 색상을 지정한 후에
실제 쓰고 싶은 방법으로 사용하면 됩니다.
\cf2\f0\fs18 SELECT
\cf1\f0\fs18 *
\cf2 는 forecolor를 2번째 것인 빨강으로 지정합니다.
\cf1 은 forecolor를 1번째 것인 검정으로 지정하는 것입니다.
만약 배경을 지정하려면 \cb 를 이용하시면 됩니다.
\f0 는 지정한 폰트인 굴림을 이용합니다.
\fs18 폰트의 사이즈는 18을 이용합니다. C#에서의 폰트 사이즈 2배로 지정하시면 됩니다.
위에것을 적으면
SELECT *
이렇게 나옵니다.
엔터는 \par 탭은 \tab 으로 이용하시면 됩니다.
using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { bool b; Mutex m = new Mutex(false, "TestMutex", out b); if (b == false) { Console.WriteLine("이미 실행중인 프로그램이 있습니다."); return; } Console.WriteLine("엔터를 누르면 프로그램이 종료됩니다."); Console.ReadLine(); } } }
Mutex생성시 이름을 정하면 그 이름은 시스템에 등록 됩니다.
그러기 때문에 Mutex를 이름을 정하여 생성하고 소멸되지 않은 상태에서
같은 이름의 Mutex를 생성하게 되면 최초 생성한 것인지 아닌지를 확인할 수 있습니다.
물론 Mutex가 소멸되면 시스템에서도 해제 됩니다.