Dev Express ButtonEdit 버튼 숨기기


How to disable or read only or hide ButtonEdit button in Dev Express



form 디자인 작업시

...으로 보이는 ButtonEdit버튼을 지워야 하는 경우가 있음.


When you design form, 

Sometimes you need disable or hiding ... button in column.


buttonEdit1.Properties.Button[0].Visible = false;


[C#] DateEdit Control 특정 날짜만 선택가능


DateEdit control 생성


-- 특정 날짜 이외에 disabled

private void dateEdit1_DrawItem(object sender, DevExpress.XtraEditors.Calendar.CustomDrawDayNumberCellEventArgs e) {

        

//매주 월요일만 가능 || 오늘 이전 회색

if(e.Date.DayOfWeek != DayOfWeek.Monday) || (e.Date < Date.Now.Date)) {

           e.Style.ForeColor = Color.Gray;

}

}

private void dateEdit1_EditValueChanging(object sender,DevExpress.XtraEditors.Controls.ChangingEventArgs e) {

       if(Convert.ToDateTime(e.NewValue,System.Globalization.CultureInfo.InvariantCulture).DayOfWeek != DayOfWeek.Monday) || 

   (Convert.ToDateTime(e.NewValue,System.Globalization.CultureInfo.InvariantCulture) < Date.Now.Date)) {

          e.Cancel = true;

}

}




[C#] 수행시간 구하기


실행시간 구하기

가끔 수행시간을 기록하거나 얼마나 소요되는지 검색해야할 경우가 있음.


실행시간을 구하는 방법은 DateTime.Now, TimeSpan, Stopwatch등을 사용하면 됨


stackoverflow에서 대용량 데이터를 핸들링 하는 경우 Stopwatch가 더 빠르다고함.

실제 2500여건 조회 결과, 

Stopwatch가 Datetime과TimeSpan을 쓴 것 보다 0.003정도로 미세하게 빠름


제일 빠른건 DateTime.UtcNow


Stopwatch 사용법


using System.Diagnostics;


Stopwatch SW = new Stopwatch();

string sTime1, sTime2;



//초기화

SW.Reset(); 

//SW시작

SW.Start();

//SW.Restart()와 같은 동작



//

//Do Work

//



//SW타이머가 실행중이면

if (SW.IsRunning)

{

//SW종료

SW.Stop();


//총 경과시간 (0.254)

sTime1 = SW.Elapsed.ToString();


//밀리초 단위의 총 경과시간(5682)

sTime2 = SW.ElapsedMilliseconds.ToString();


//HH:MM:SS.0000000 양식 (00:00:07.1985280)

sTime2 = (SW.ElapsedMilliseconds / 1000.0f).ToString();


}





'Programming > C#' 카테고리의 다른 글

[C#] 수행시간 구하기  (0) 2018.08.21
[C#/WinForm] 창 크기 조절하기  (0) 2018.08.20
[C#] C#이란  (0) 2018.04.19

[C#/WinForm] 


윈도우 폼 크기 조절하기

윈도우 창 크기 조절하기


속성


- AutoSize


 false

 크기 조절 불가

 true

 크기 조절 가능


- AutoSizeMode


 GrowOnly

 수동으로 조절가능, 설정된 크기보다 작게 조절은 불가능

 GrowAndShrink

 폼 비율 유지, 수동으로 조절 불가능



FormBorderStyle


 None

 폼 외곽 없음, 크기 변경 불가

 FixedSingle

 폼 외곽 단순 선, 크기 변경 불가

 Fixed3D

 폼 외곽 3D선, 크기 변경 불가

 FixedDialog

 폼 외곽 두꺼운 선, 크기 변경 불가

 Sizable

 크기 변경 가능 (폼 외곽은 fixedsingle과 같음)

 FixedToolWindow

 도구창, 크기 변경 불가능

 SizableToolWindow

 도구창, 크기 변경 가능


'Programming > C#' 카테고리의 다른 글

[C#] 수행시간 구하기  (0) 2018.08.21
[C#/WinForm] 창 크기 조절하기  (0) 2018.08.20
[C#] C#이란  (0) 2018.04.19
c#

C#이란


1. 마이크로소프트에서 개발한 객체 지향 프로그래밍 언어

2. 닷넷 프레임워크의 한 부분으로 만들었으며 나중에 ECMA (ECMA-334)와 ISO (ISO/IEC/23270)의 표준으로 자리잡음

3. C++와 자바의 문법과 비슷한 문법

4. garbage collection(가비지 컬렉션) 지원

(참조 : https://ko.wikipedia.org/wiki/C%EF%BC%83)



.NET Framework(닷넷 프레임워크)란


1. 2002년 마이크로소프트에서 개발한 윈도우 프로그램 개발 및 실행 환경으로서 프로세스 가상머신에 속함

2. 네트워크 작업, 인터페이스 등의 많은 작업을 캡슐화

3. 공통 언어 런타임(Common Language Runtime)(CLR)이라는 이름의 가상 머신 위에서 작동한다.

(윈도우 10 - 닷넷 프레임워크 4.6이 기본 탑재)



C# 애플리케이션 실행 순서


1. C# 소스코드 빌드

2. 컴파일러에 의해 삽입된 CLR(Common Language Runtime, 가상 머신 역할) 로더 실행

3. IL Code(Intermediate Language, 중간 언어 코드) 실행

'Programming > C#' 카테고리의 다른 글

[C#] 수행시간 구하기  (0) 2018.08.21
[C#/WinForm] 창 크기 조절하기  (0) 2018.08.20
[C#] C#이란  (0) 2018.04.19


안티패턴(anti-pattern)이란

소프트웨어 공학분야 용어로 실제 많이 사용되는 패턴이지만 비효율적이라 사용을 지양해야할 코드들을 의미


안티패턴(anti-pattern) 종류와 개선방안 (계속 추가)


종류 

 link 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


'Programming > Anti-pattern' 카테고리의 다른 글

[JavaScript] Anti-pattern  (0) 2018.03.20


JAVA 변수의 종류


기본적으로 4가지 변수 존재


example)

public class Variables{


static int classVariables;

int instanceVariables;


public void method(int parameters){


int localVariables;

}

}


1. 클래스 변수 (Class variables)

- 클래스가 처음 호출될 떄 시작하여 프로그램이 끝날 때 소멸

- 자주 사용되고 변함 없는 자료일 경우 클래스 변수에 선언함


2. 인스턴스 변수 (Instance variables)

- 객체가 생성될 때 시작하여 해당 객체를 참조하는 객체가 없을 때 소멸


3. 지역 변수 (Local variables)

- method안에서만 유효함. 다른곳에서 부를 수 없음


4. 매개 변수 (Parameters)

- method가 호출될 때 시작, method가 끝날 때 소멸


'Programming > Java' 카테고리의 다른 글

[Java] 변수의 종류  (0) 2018.03.12
[Java] 클래스와 객체의 차이(Class & Object)  (0) 2018.03.11
[Java] 자바 기본 정리  (0) 2018.03.11
[Java] 객체지향언어란  (0) 2018.03.11


클래스와 객체의 차이(Class & Object)


-클래스 :  자바의 가장 작은 단위. 상태와 행위를 갖음, 사물의 단위를 의미. 붕어빵 틀

(Ex. 사람)


+) 상태 : 클래스나 인스턴스 변수

+) 행위 : 메소드


Example)

public class Human {


private int age; //상태


public Human(){

}


public void setAge(int age){ //행위

//생략

}

}


-객체 : 클래스를 실제 사용할 수 있도록 구현한 것.

(Ex. 김길동, 이길동, 박길동, 최길동, 홍길동)

+) 클래스의 기준에 따라 더 세분화 될 수도 있음


Example)

Human kim = new Human();

Human lee = new Human();

Human park = new Human();


*클래스 안에는 여러 메소드가 존재 할 수 있음

*자바의 메소드는 어딘가에 소속되어있어야만 한다.



'Programming > Java' 카테고리의 다른 글

[Java] 변수의 종류  (0) 2018.03.12
[Java] 클래스와 객체의 차이(Class & Object)  (0) 2018.03.11
[Java] 자바 기본 정리  (0) 2018.03.11
[Java] 객체지향언어란  (0) 2018.03.11


1. 자바는 객체지향 언어


객체지향 언어의 특징 : 추상화, 캡슐화, 상속성, 다형성

플랫폼에 독립적




2. 클래스와 객체의 차이


클래스 : 자바의 가장 작은 단위

객체(혹은 인스턴스) : 클래스를 실제 사용할 수 있도록 구현한 것. 



'Programming > Java' 카테고리의 다른 글

[Java] 변수의 종류  (0) 2018.03.12
[Java] 클래스와 객체의 차이(Class & Object)  (0) 2018.03.11
[Java] 자바 기본 정리  (0) 2018.03.11
[Java] 객체지향언어란  (0) 2018.03.11

객체지향 언어 특징



1. 추상화 (abstraction)

객체들의 공통적인 특징(속성,기능)을 추출하는 것

클래스를 정의하는 과정



2. 캡슐화 (Encapsulation)

데이터의 상태와 행위를 결정하는 기능을 결합시킴.

캡슐형 알약으로 보면 됨. 

특정 목적을 수행하기위한 단위로 묶을 수 있음.

+) 데이터를 은닉(information hiding)하고 접근 기능을 제한하여 보호할 수 있음

+) 모듈화(modularity)가 가능하며 가장 작은 단위를 클래스라고 부름



3. 상속성 (Inheritance)

상위 개념의 특징을 하위 클래스에서 물려 받을 수 있음

(부모와 자식의 관계처럼 부모의 특징을 가지고 자식에게 물려줄 수 있음.)

*현재 자바는 부모클래스를 두개 이상 가질 수 없음.



4. 다형성 (Polymorphism)

상속에서 이어지는 개념으로

상속을 받더라도 각각의 하위클래스의 기능을 다를 수 있음

(한 부모 밑에서 낳은 자식이라도 모두 같지는 않다고 생각하면 됨)

같은 이름을 부르더라도 각기 다른 기능을 하도록 구현할 수 있음

'Programming > Java' 카테고리의 다른 글

[Java] 변수의 종류  (0) 2018.03.12
[Java] 클래스와 객체의 차이(Class & Object)  (0) 2018.03.11
[Java] 자바 기본 정리  (0) 2018.03.11
[Java] 객체지향언어란  (0) 2018.03.11

+ Recent posts