Csharp

· Csharp
이 글에서는 시작프로그램에 프로그램을 등록하기 위해서 레지스트리에 직접 데이터를 넣는 방식을 이용함. 1 2 3 4 5 6 private RegistryKey runRegKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); runRegKey.SetValue("ProgramName", "Path"); // 등록 runRegKey.DeleteValue("ProgramName", false); // 등록 삭제 runRegKey.GetValue("ProgramName") // 등록 여부 반환 Colored by Color Scripter cs runRegKey: "SOFTWARE\Micros..
· Csharp
실행경로 혹은 현재경로 얻기위해서는 1. Application.StartupPath 현재 프로그램이 존재하는 경로를 반환. 실행위치와 상관없이 파일의 위치를 반환함. Application.ExcutablePath와 동일함. - WPF 프로젝트일 경우에는 참조의 혼동이 발생함 Application.StartupPath는 Winform의 코드임으로 WPF 프로젝트의 경우 다음과 같이 System.Windows.Forms.Application.StartupPath Application앞에 추가하여 명시해야함. 2. System.Environment.CurrentDirectory 현재 작업이 실행되는 경로를 반환함. System.IO.Directory.GetCurrentDirectory( ) 와 동일. - Wi..
· Csharp
ShowInTaskBar 프로퍼티 사용 - XAML 1 2 3 4 5 6 7 Colored by Color Scripter cs - Code Behind 1 this.ShowInTaskBar = false; cs 해당 윈도우안의 코드에서 설정하는 법 1 2 3 4 Window myWindow = new Window(); myWindow.ShowInTaskbar = false; myWindow.Show(); cs 윈도우 생성전에 설정하는 법
· Csharp
1 2 3 4 5 6 7 Colored by Color Scripter cs WindowStyle: 윈도우의 외각선 설정, "None" AllowsTransparency: 윈도우의 배경의 투명성 허용 여부, "True" Background: 윈도의 뒷배경 색깔 설정, "{x:Null}"
· Csharp
C# 의 데이터 저장방식인 직렬화(Serialize), 역직렬화(Deserialize) 도중 다음과 같은 예외가 뜰수도 있음. System.MemberAccessException: '추상 클래스를 만들 수 없습니다' 'System.MemberAccessException' 형식의 예외가 mscorlib.dll에서 발생했지만 사용자 코드에서 처리되지 않았습니다. 추상클래스를 만들 수 없습니다. 우선 문제가 발생했던 코드는 아래와 같음 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 enum icon { Null, File, Link } [Serializable] public class ValueObject { public Enum[]..
· Csharp
Usage 윈도우의 기본 파일 탐색기를 WPF에서 활용하는 코드임. 필자는 선택한 파일의 경로를 불러오는 용도로만 사용하였으므로 거기까지만 설명함 OpenFileDialog 안에 있는 변수들로 여러 활용이 가능 할 것임. 1 2 3 4 5 6 7 8 9 private string FileExplorer() { OpenFileDialog dig = new OpenFileDialog(); bool? result = dig.ShowDialog(); if (result == true) return dig.FileName; else return string.Empty; } Colored by Color Scripter cs OpenFileDialog: 파일 탐색기 dig.ShowDialog( ): 파일 선택을 성..
· Csharp
자꾸 까먹어서 정리하는 자잘한 문법들 계속 추가할 예정 -String String.Empty: 빈 문자열을 나타냄 (읽기 전용) 1 if (name == String.Empty) cs String.IsNullOrWhiteSpace(string string): 문자열이 Null 이거나 빈 문자열이거나 공백만 있을 경우, true 반환 -Enum Enumerable.Repeat(Enum enum, int count).ToArray: 열거형을 한번에 초기화 후 배열로 초기화 1 public Enum[] state = Enumerable.Repeat(icon.Null, 16).ToArray(); cs
· Csharp
가끔 같은 유형의 객체가 여러 개를 만들어서 한번에 관리하고 싶을 때가 있는데, 예를 들어 Icon00 / Icon01 / Icon02 가 있는데, 유동적으로 변수가 00 / 01 / 02로 변하여 이 변수를 이용하여 객체에 접근하고 싶을 때가 있다. 직관적으로 생각하면 "Icon" + number 라고 해서 객체 이름을 조합할 수 있지 않을까? 라는 생각을 하게 되지만 이는 불가능하며, 우회해서 구현은 가능하지만 여러 이유로 나쁜 코드임. 하지만 관점을 바꾸면 의외로 간단한데 List 를 사용하면 됨. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 private List Images = new List(); private void InitLabels() { Images.Add(icon..
· Csharp
자료형별로 별도의 초기화하지 않으면 기본적으로 적용되는 값들이 있음 - Type bool - false double - 0.0D float - 0.0F int - 0 string - null - Array 해당 배열의 타입인 자료형 기본값을 따라감. From section 7.6.10.4 of the C# 5 specification: All elements of the new array instance are initialized to their default values (§5.2). And from section 5.2: The default value of a variable depends on the type of the variable and is determined as follows: Fo..
· Csharp
Setup Using System.Diagnostics Usage - 외부 프로그램 실행과 링크 실행 1 2 3 4 5 string path = Application.StartupPath + "\\test.exe"; Process.Start(path); string url = "www.google.com"; Process.Start(url); Colored by Color Scripter cs 프로그램의 폴더속 "test.exe" 실행 www.google.com 을 기본브라우저로 접속 - 외부 프로그램 종료 1 2 3 4 5 6 7 8 foreach (Process process in Process.GetProcesses()) { if(process.ProcessName.StartWith("test") ..
sckwon770
'Csharp' 카테고리의 글 목록