일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Polling
- REGULATOR
- CDG
- Dry etcher
- melsec
- Gas box
- cluster
- MelsecNet-G
- pc제어
- MODBUS
- hivac
- 드라이에쳐
- rs-485
- 설비제어
- 폴링
- rs-232
- DATAGRIDVIEW
- ION Gauge
- Helium
- VACUUM
- 시리얼통신
- RS232
- PMAC
- 자동제어
- gauge
- HI-Vacuum
- 레귤레이터
- c# build date
- 가스
- pressure
- Today
- Total
진공에 대해 알려주마.
DGV in C# 본문
Data grid view control 테스트 화면입니다.
화면을 만들기 위하여 세팅값을 테스트하면서 찾은 내용을 기록한다. 참고하시라. 우선 작업을 위한 항목을 테스트 하고 추후 다른 기능도 테스트하여 추가토록 하겠다.
윈도우에서는 구현 방법이 다를 뿐 같은 기능을 구현할 수 있다. 여기서도 C#을 사용하는 이유는 윈 품을 사용하기 위해서다. 상대적으로 많이 쉬우니까...
그리고 한 가지 더 말하면 여기서 설정하는 옵션은 아래와 같이 프로그램 코드에서 조정이 가능하다.
// Test tabControl
this.Text = "ABC";
tabControl.Alignment = TabAlignment.Left;
tabControl.Appearance = TabAppearance.Normal;
//
tabPage에서 특정 페이지가 선택된 경우 해당 page에서만 구동할수 있도록 처리할수 있다.
//
// tabPage
//
TabPage selTab = tabMain.SelectedTab;
if(selTab == null)
{
// null 처리
return;
}
else if (selTab.Name == "tabAuto")
{
// tab page 이름이 tabAuto이면 처리
update_tabAuto();
}
else if (selTab.Name == "tabManual")
{
// tab page 이름이 tabManual이면 처리
update_tabManual();
}
C#에서 윈도우 폼을 만들고 TabControl을 기본값으로 추가하면 아래와 같은 모양을 생성된다. tabPage 2개가 기본이지만 3개를 만들어 테스트해 보고자 한다.
아래와 같이 생성하고 이를 그대로 실행하면 그 아래 화면이 생성된다.
위에서 기본으로 생성한 DGV를 실행하면 아래와 같이 실행된다.
하지만 내가 표시하고 싶은 모양은 다음과 같다. 우측 아래에 탭 버튼을 만들고 싶다. 화면 구조상 그렇게 만들고 싶은 것이다. 그래서 이를 구현하고자 dgv에 관련된 attribute를 테스트해 보았다.
Tab control의 동작/alignment 옵션을 변경한다. 이는 탭버튼의 위치를 결정하는 옵션이다. 상하좌우가 있다. 이는 아래와 같이 보여진다.
탭버튼을 원하는 위치로 변경하고자 우선 alignment를 bottom으로 설정한다. 이는 아래쪽 왼쪽으로 버튼이 이동한다. 이를 다시 우측으로 변경하기 위해서는 RightToLeft 옵션으로 변경해야 한다. 이는 우리에게는 생소한 아랍 문화권을 위한 옵션인 것 같다.
RightToLeft 옵션을 테스트해보기로 한다.
DGV의 RightToLeft를 설정하면 Tab 페이지 안쪽에 있는 모든 control은 RightToLeft 모드로 변경된다. 위에서 보면 tab page의 label control의 text align이 right로 변경된 것을 볼 수 있다. 탭버튼도 순서가 바뀌었다.
이를 해결하기 위해서는 tab page 안쪽에 있는 모든 control의 text align 옵션을 right로 변경해야 한다. 하지만 tab button의 순서를 1, 2, 3으로 바꾸지는 못하였다. 이는 옵션을 좀 더 찾아보아야겠다.
추가로 Tab의 모양을 변경할 수 있다. Appearance 옵션으로 변경이 가능하다.
Tab의 크기를 변경할수 있다. ItemSize 옵션을 사용하여 변경이 가능하다. 한 가지 사전 옵션이 필요하다. Height는 바로 변경이 가능하다. 하지만 Width는 바로 변경이 되지 않는다. SizeMode를 Fixed로 변경해야 적용된다.
ItemSize의 옵션 중 Width는 아래와 같이 SizeMode를 Fixed로 설정해야 변경이 가능하다.
그리고 TabPage마다 별도의 옵션을 사용하여 서로 다른 모양을 구성할 수 있다.
전에 C++에서 사용하던 __DATE__ 을 사용하고 싶었다. 여기저기 찾아봐도 동작하지 않는다. 그러던중 아래의 사이트를 발견하였다. 아래 사이트를 참고 하여 그대로 구현하여 적용해 보았다.
위의 내용을 참고하시고 정리하면 아래와 같이 요약 할수 있다.
- Project 디렉토리의 "프로젝트.csproj" 파일을 수정한다. 수정항목 <Deterministic>false</Deterministic>
- 프로젝트의 Properties\AssemblyInfo.cs를 수정한다. 수정항목 [assembly: AssemblyVersion("1.0.*")]
- 함수를 추가하고 사용한다. 위의 사이트에서 GetBuildTime() 함수를 복사하여 사용하면 된다.
결과는 아래와 같이 윈도우 폼에 추가해서 볼수 있다.
'진공 > 노하우' 카테고리의 다른 글
설비 PC 제어 프로그램 관리 (0) | 2024.09.27 |
---|---|
Excel에서 dataGridView 붙여넣기 (0) | 2024.08.06 |
가속, 주행, 감속 그리고 TACT (0) | 2023.11.01 |
MODBUS 2 (0) | 2023.10.14 |
리부트 (0) | 2023.09.23 |