.Net

C# - MessageBox의 OK, Yes, No 등의 버튼 텍스트 얻기

Dokon Jang 2015. 4. 15. 14:47
반응형

다국어 지원 개발을 하다보면 MessageBox의 버튼텍스트가 필요합니다..

MessageBox의 버튼의 텍스트는 User32.dll에 포함되어있습니다.

버튼의 텍스트를 가지고 오는 방법은 아래와 같습니다.

 

public const uint OK_CAPTION = 800;

public const uint CANCEL_CAPTION = 801;

public const uint ABORT_CAPTION = 802;

public const uint RETRY_CAPTION = 803;

public const uint IGNORE_CAPTION = 804;

public const uint YES_CAPTION = 805;

public const uint NO_CAPTION = 806;

public const uint CLOSE_CAPTION = 807;

public const uint HELP_CAPTION = 808;

public const uint TRYAGAIN_CAPTION = 809;

public const uint CONTINUE_CAPTION = 810;



[DllImport("kernel32")]

public static extern IntPtr LoadLibrary(string dllFileName);



[DllImport("user32.dll")] 

public static extern IntPtr LoadString(IntPtr instance, uint id, StringBuilder lpBuffer, int bufferMax); 

 

 

 

StringBuilder okValue = new StringBuilder(256);

StringBuilder yesValue = new StringBuilder(256);



IntPtr user32 = LoadLibrary(Environment.SystemDirectory + @"\User32.dll");



LoadString(user32, OK_CAPTION, okValue, okValue.Capacity); 

LoadString(user32, YES_CAPTION, yesValue, yesValue.Capacity)
반응형