일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ListView
- windows
- dotNET
- algorithm
- convert
- Coding
- IValueConverter
- Process
- windows10
- Github
- commit
- chashtag
- programmers
- log
- 코딩테스트
- Microsoft
- C#
- WPF
- mysql
- csharp
- tls
- Visual Studio
- File
- .net
- git
- coding-test
- string
- logging
- Binding
- nullable
- Today
- Total
목록C# (71)
CHashtag
결론부터 알려드리겠습니다. 안녕하세요. 오늘은 ComboBox Control을 사용할 때 Source에 Converter를 적용하는 방법에 대해 알려드리려 합니다. 이해를 돕기위해 바로 예제 프로그램을 제작해 보도록 하겠습니다. 예제 프로그램 랜덤한 숫자가 담긴 리스트에 홀수 짝수 여부를 같이 붙여서 ComboBox에 보여지는 프로그램을 만들어보도록 하겠습니다. 관련하여 설명은 주석에 달아 두었으니 참고해주시면 됩니다. // MainWindow.xaml.cs using System; using System.Collections.Generic; using System.Windows; namespace WPF_ComboBox_Converter { /// /// Interaction logic for Main..
안녕하세요. 이전 게시글 (https://chashtag.tistory.com/77) 에서는 DatePicker에 대해 알아보았습니다. [C#] [WPF] MVVM패턴에서의 DatePicker 사용방법 안녕하세요. 오늘은 WPF에서 날짜를 선택할 수 있는 Control인 DatePicker에 대해 알아보고 간단한 MVVM패턴에서의 사용방법까지 배워보도록 하겠습니다. DatePicker DatePicker는 WPF기본 제공 Control입니다. ( chashtag.tistory.com 하지만 DatePicker는 년 월 일 까지만 선택이 가능하고 시, 분, 초는 선택이 불가능하다는 단점이 존재합니다. 그래서 오늘은 DateTimePicker에 대해 알아보려고 합니다. DateTimePicker DateTi..
안녕하세요. 오늘은 WPF에서 날짜를 선택할 수 있는 Control인 DatePicker에 대해 알아보고 간단한 MVVM패턴에서의 사용방법까지 배워보도록 하겠습니다. DatePicker DatePicker는 WPF기본 제공 Control입니다. (PresentationFramework.dll) https://docs.microsoft.com/ko-kr/dotnet/api/system.windows.controls.datepicker?view=net-5.0 DatePicker 클래스 (System.Windows.Controls) 사용자가 날짜를 선택할 수 있도록 해주는 컨트롤을 나타냅니다.Represents a control that allows the user to select a date. docs.m..
폴더 내부의 모든 파일의 크기를 구하는 함수입니다. 단위는 byte입니다. public long GetDirectorySize(string path) { long size = 0; DirectoryInfo dirInfo = new DirectoryInfo(path); foreach (FileInfo fi in dirInfo.GetFiles("*", SearchOption.AllDirectories)) { size += fi.Length; } return size; }
// App.xaml.cs // 프로그램 시작, 종료 지점에 해당 코드를 삽입하여도 무방합니다. const string MUTEX_NAME = "SOME_UNIQUE_MUTEX_NAME"; Mutex mutex = null; App() { bool isNew; try { mutex = new Mutex(false, MUTEX_NAME, out isNew); if (!isNew) { Application.Current.Shutdown(); mutex = null; return; } } catch (Exception ex) { Application.Current.Shutdown(); } } /// /// 프로그램이 종료되기 전에 Mutex를 해제해주어야 한다. /// /// /// private void A..
C#에는 Attribute라는 유용한 친구가 있습니다. 그중 CallerMemberName을 사용하면 이 함수를 호출한 대상에 대한 이름을 인자로 받게 됩니다. 사용법은 다음과 같습니다. // Program.cs static void Main(string[] args) { SomeFunction(); // output : Main } public static void SomeFunction([CallerMemberName] string callerName = null) { Console.WriteLine(callerName); } 한가지 주의할 점은 default value를 지정해 주어야 한다는 점입니다. CallerMemberName외에도 CallerFilePath, CallerLineNumber도 ..
[DllImport("user32.dll")] static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo); C#에는 키보드 입력을 할 수 있는 함수들이 존재합니다. 오늘 소개할 keybd_event라는 함수는 user32.dll 에 내장된 함수로, low level의 키보드 인풋을 제공합니다. keybd_event에는 4가지 Arguments는 다음과 같습니다. // 가상 키 코드입니다. // https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes byte bVk // 키의 하드웨어 스캔 키입니다. // https://stackov..
안녕하세요. 오늘은 파일을 업로드할 때 필요한 content-type을 파일의 확장자 별로 구하는 방법에 대해 알아보도록 하겠습니다. 다행히도 Windows에서는 해당 값에 대한 Mime-Type을 레지스트리 편집기에 정의해 두었습니다. 레지스트리 편집기에 들어가보면 여러 확장자에 대한 Content Type값이 들어있는 것을 확인하실 수 있습니다. (컴퓨터\HKEY_CLASSES_ROOT의 하위에는 .xxx와 같은 형식의 폴더가 많이 존재합니다.) 따라서 오늘은 이 값을 이용하여 확장자에 대한 mime-type(content-type)을 구해보도록 하겠습니다. 방법은 아주 간단합니다. 아래는 해당 값을 읽어오는 코드입니다. public string GetMimeType(string fileName) {..
제품을 릴리스하여 출시할 때 exe와 동일한 경로에 수많은 .dll 파일들이 위치해 있는 경우가 많습니다. 이럴 경우 매우 복잡하고 지저분해보일 수 있기 때문에 오늘은 이 .dll 파일들을 폴더로 분리해보려 합니다. 테스트 구성은 다음과 같습니다. 빌드를 하면 다음과 같이 지저분한 dll들이 보입니다. 이제 이 dll들을 폴더를 나누어 관리해보려 합니다. (참고로 pdb 파일들은 지워도 됩니다.) app.config에 다음과 같은 코드를 추가해주면 됩니다. 여기서 주의할 점은 privatePath는 exe하위 폴더여야 합니다. 여러 폴더를 지정하고 싶다면 ; 으로 나눠주면 됩니다. (공백이 생겨선 안됩니다.) 사실 app.config를 변경하고 빌드하지 않고 SomeAmazingWPFProgram.exe..
결론부터 말씀드리겠습니다. 필자의 경우 Web.config에 다음 코드를 추가하여 해결하였습니다. Nancy 라이브러리를 이용하여 ASP 웹 페이지를 제작하다 보면 cshtml에서 외부 라이브러리를 찾지 못하는 오류가 발생하곤 합니다. @using Your.Namespace.etc [CS0234] Line: 0 Column: 0 - 'Your.Namespace.etc' 네임스페이스에 'SomeClass' 형식 또는 네임스페이스 이름이 없습니다. 어셈블리 참조가 있는지 확인하십시오. 하지만 프로젝트의 References에는 잘 추가가 되어 있다면 다음 Web.config를 수정하여야 합니다. ※ Razor 속성의 위치는 configuration 바로 아래에 있어야 합니다. ※ razor section을 추..