본문 바로가기

C#8

[C#] Form에서 다른 Form으로 데이터 전송하는 방법 에러 메시지를 표시하거나, Yes/No와 같은 간단한 결과를 얻으려는 경우 MessageBox에서 해결할 수 있다. 하지만 특정 데이터를 하나의 Form에서 받은 후 다른 Form에 전달해야 하는 경우, MessageBox로는 불가능하다. 검색을 통해 여러가지 방법을 찾았지만, DataPassEventHandler를 사용하는 방법이 가장 직관적이고 명확한 방식이라 생각해 DataPassEventHandler를 사용하는 방법을 소개한다. DataPassEventHandler를 사용하는 방식은 아래와 같다. 데이터를 받을 Form(또는 xaml)을 부모, 데이터를 전송할 Form(또는 xaml)을 자식이라 하면 1. 부모 Form에서 자식 Form에 대한 DataPassEventHandler를 정의한다. 2.. 2022. 10. 25.
[C#] WinForm 의 모든 컨트롤 가져오기 특정 Form의 Control을 가져오려는 경우 Linq의 Cast를 사용하면 된다. 아래는 모든 컨트롤 정보를 리스트로 정의하는 코드이다. 1 2 3 // Control를 가져오려는 Form의 이름 : myForm Form myForm; List Control_List = myForm.Controls.Cast().ToList(); cs TextBox, CheckBox와 같은 특정 Control 요소만 필요한 경우, Linq의 Where를 사용하여 필터링 할 수 있다. 1 2 3 4 5 6 7 // TextBox만 필터링 List Control_List = myForm.Controls.Cast().Where(p => p is TextBox).ToList(); // TextBox, CheckBox 필터링 .. 2022. 1. 7.
[C#] 물음표(?) 연산자 사용 방법 물음표 연산자는 if-else 조건문을 매우 간단하게 한 줄로 줄여줄 수 있는 연산자이다. 아래 if-else 조건문을 이용한 코드와 물음표 연산자를 이용한 코드를 작성해 보았다. 0~100 사이에 임의의 정수를 2로 나눈 나머지가 0이면 true, 아닐 경우 false를 변수에 지정하는 코드이다. if-else 조건문을 이용한 코드 1 2 3 4 5 6 7 8 System.Random rnd = new rnd(); int value = rnd(0,100); bool result; if(value % 2 == 0) { result = true; } else { result = false; } c 물음표 연산자를 이용한 코드 1 2 3 4 System.Random rnd = new rnd(); int va.. 2021. 4. 19.
[C#] 이미지 투명화(배경제거) - #2 1편에서는 이미지를 Bitmap으로 변환한 뒤 MakeTransparent(Color) 메서드를 이용해서 배경을 제거하는, Transparent로 변경하는 방법을 설명하였다. 2021.04.13 - [프로그래밍 언어/C#] - [C#] 이미지 투명화(배경제거) - #1 [C#] 이미지 투명화(배경제거) - #1 이미지를 투명화 하기 위해서 가장 먼저 어떤 색상을 투명하게 만들 것인지 설정해야 한다. OpenCV를 사용하지 않고 이미지를 편집하기 위해서는 이미지를 Bitmap으로 생성하고, 생성된 Bitmap을 이 hvyair.tistory.com 1편에서 설명된 방식으로 배경 제거를 진행했을 경우 입력한 픽셀의 색상만 제거하기 때문에 R,G,B 값이 조금만 다르더라도 해당 색은 제거되지 않는다. 예를 들.. 2021. 4. 14.