본문 바로가기

Programing/C#20

[Dock 속성] Dock 속성 우선순위 Window Form을 이용한 프로젝트에서 UI를 꾸밀때 자주 사용하는 속성 중 하나가 Dock속성임. Dock속성을통해 화면을 이쁘게 나누고싶어서 메뉴를 보여줄 Control은 Left / 내용을 보여줄 Control은 Fill로 주어서 화면을 좌/우로 2등분을 하고 싶은데, 생각대로 2등분되지 않고 Fill속성을 준 객체가 Left속성을 준 객체뒤에 숨어버리는 일이 발생함. 그래서 차선책으로 Anchor 속성을 이용하지만, Anchor의 경우에는 Form의 크기를 변경하다보면 원하는위치에 있지않고 깨지는 현상이 발생함. 따라서 해당 내용에 대해 검색하다가 stackoverflow에서 아래와 같은 답변을 확인함. (https://stackoverflow.com/questions/154543/panel-.. 2018. 5. 31.
[DevExpress] 도구상자 추가하기 DevExpress를 설치하면 Visual Studio에 자동으로 도구상자들이 등록이 된다. 그런데 어떠한 문제로 DevExpress의 도구상자가 Visual Studio에 나타나지 않을 경우 아래와 같은 방법으로 해결 가능하다. DevExpress 설치 경로(내 컴퓨터의 경우 : C:\Program Files (x86)\DevExpress\DXperience 12.2)의 Tools 폴더에 가면 ToolboxCreator라는 실행파일이 존재한다. 실행되고있는 모든 Visual Studio프로그램을 종료하고 해당 프로그램을 실행하면 Empty Arguments 에러가 발생하는데 말 그대로 Arguments가 없다는 이야기이다. 이럴때엔 cmd창으로 들어가 DevExpress 설치 경로로 이동하여 아래와 같.. 2017. 8. 21.
C#으로 Visio파일 다루기 MS사의 Excel이나 Word는 사용들을 많이해서 검색을하면 C#으로 Control하는 많은 방법들이 검색되는데, Visio의 경우에는 검색해도 잘 나오질 않음. 그래도 다른 MS 제품과 비슷한 방법을 이용될것이라고 생각되며, 실제 사용한걸 정리해봄. Microsoft.Office.Interop.Visio를 참조추가해두고 수행. Using Visio = Microsoft.Office.Interop.Visio; ... Visio.Application app = (Application을 받아온다.) //Visio랑 연계되는 프로그램에서 메소드를 통해 Application을 받아왔지만, 새로 생성은 검색하면 있을듯.) Visio.Document diagramDoc = app.ActiveDocument; //.. 2017. 3. 16.
DataSource로 바인딩한 DataGridView에 Row 생성 DataGridView를 만드는 여러가지 방법 중. DataGridView.DataSource = [DataTable] 로 데이터 바인딩을 한 경우에는 DataGridView.Rows.Add() 함수를 사용하면 에러가 발생한다. 에러의 내용은 데이터 바인딩으로 DataGridView를 구성하였을 때에는 프로그램으로 Row를 생성 할 수 없다는 의미로, DataGridView에 바인딩한 DataTable에 DataRow를 추가하면 DataGridView에 해당 Row가 자동으로 생성 되는 것을 확인 할 수 있다. 그런데... DataGridView.Rows.Remove()는 데이터 바인딩을 했어도 적용이 된다는것과, 삭제된 경우 DataTable의 데이터도 삭제되는지는 확인해봐야 할듯. 2017. 2. 21.