336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
XNA는 Microsoft에서 내놓은 게임 개발프레임워크로서 XBOX용과 Windows용의
개임 개발에 최적화 되어 있습니다.

XNA로 개발한 게임을 XNA Creator's Club 이라고 하는 사이트에 올려서 요금을
책정해서 유저들이 돈을 받고 다운받게 할수도 있습니다.

의외로 게임의 수준이 높아서 재미가 있다면 게임도 만들고 돈도 벌고 일석이조의
효과를 낼수도 있습니다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

XNA의 개발 언어는 C#기반입니다.
XNA에는 현재 여러 버전이 있는데 2.0 버전과 3.0버전이 있습니다.

2.0버전의 경우는 Visual Studio2005 기반으로 돌아가며
3.0버전의 경우는 Visual Studio2008 기반으로 돌아가게 됩니다.

2.0 다운로드 주소
http://www.microsoft.com/downloads/details.aspx?FamilyID=df80d533-ba87-40b4-abe2-1ef12ea506b7&DisplayLang=en

3.0 다운로드 주소
http://www.microsoft.com/downloads/details.aspx?FamilyID=7d70d6ed-1edd-4852-9883-9a33c0ad8fee&DisplayLang=en

다운받으신 후에는 바로 설치파일을 실행시키셔서 다음다음~
그럼 끝입니다


Posted by shunman
,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

webclient에서 값을 넘길때 한글이 깨지는 문제가 있습니다. 해당 페이지에서 사용하는 인코딩을 마춰서 한글을 인코딩해서 보내줘야되는데 이럴때 System.Web.HttpUtility 클래스를 사용해 주시면 됩니다.

사이트의 인코딩이 euc-kr 이라면

string artist = "즐";

string turl = "http://search.mnet.com/searchSinger.asp?searchbox=btn&searchArea=SINGER&searchWord=" +
System.Web.HttpUtility.UrlEncode(artist, System.Text.Encoding.GetEncoding("euc-kr"))

로 해주시면 아주 잘 작동됩니다.



Posted by shunman
,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

public Point ptRect = new Point(0, 0);

private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{

      ptRect.X = e.X;
      ptRect.Y = e.Y;

}

 private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{

      if(e.Button == MouseButtons.Left)
      {

          Point pt = new Point(this.Location.X + e.X - ptRect.X,
          this.Location.Y + e.Y - ptRect.Y);
          this.Location = pt;
      }

}

출처:데브피아
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=17&MAEULNo=8&no=19223&ref=19223

Posted by shunman
,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

대부분의 경우에서 이름을 결정하는데는 파스칼 케이싱(Pascal casing)을 이용하여 변수의 대 소문자를 결정하길 권유한다. 파스칼 케이싱은 이름의 첫번째 문자가 항상 대문자이어야하는 법칙이다. 예를 들면 EmployeeSalary, ConfirmationDialog, PlaainTextEncoding 와 같다. 대 소문자를 결정하기 위해 사용하는 다른 규칙은 카멜 케이싱(camel casing)이다. 카멜케이싱은 단어의 첫번째 문자에 대문자를 사용하지 않는 것이다. 예를 들면 employeeSalary, confirmationDialog, plainTextEncoding와 같다. 카멜 케이싱은 다음 두가지 경우에 사용하자.

메소드에 전달되는 모든 매개변수의 이름은 카멜 케이싱이다.

public void RecordSale(string salesmanName, int quantity);

동일한 이름을 가지는 두 개의 항목을 구별하기 위해서도 카멜 케이싱을 사용한다. - 즉 프로퍼티와 필드를 구별할 때 사용한다.

private string employeeName;

public string EmployeeName

{

  get

  {

    return employeeName;

  }

}

private 멤버에 대해서는 카멜 케이싱을 사용하고 다른 public 멤버나 protected 멤버에 대해서는 파스칼 케이싱을 사용한다.

 

이름 스타일

변수 이름을 지을때는 일관적인 스타일을 사용해야 한다. 예를 들어 클래스의 메소드 중 하나가 ShowConfirmationDialog()라는 이름을 가졌다면 다른 메소드의 이름은 ShowDialogWaring()이나 WarningDialogShow()가 되어서는 안된다. 다른 메소드의 이름은 ShowWarningDialog()가 되어야한다.

 

네임스페이스 이름

네임 스페이스 이름은 .NET이 공유 어셈블리 내의 객체이름을 구별하는 단 한가지 방법이다. <회사이름>.<기술이름>으로 시작하는 네임스페이스 이름을 권한다.

 

이름과 키워드

C#과 C++은 소문자 키워드를 사용한다. 그러나 VB.NET은 키워드가 많고 대소문자를 구별하지 않기 때문에 주의가 필요하다. VB.NET에서 호출할 코드를 사용한다면 VB.NET키워드를 사용하지 않도록 주의한다. (264개의 키워드 있슴)

 

프로퍼티와 메소드 사용하기

변수처럼 사용되는 것은 프로퍼티로 사용하자.

프로퍼티 값을 읽어들이는 데 많은 시간이 걸리면 안된다.

프로퍼티를 순서에 상관없이 설정할 수 있어야한다.

프로퍼티를 계속해서 읽어들여도 일정한 값이 나와야한다.

 

필드 사용하기

필드는 항상 private가 되어야한다. 상수나 읽기전용 필드는 public 이어도 좋다.

Posted by shunman
,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
WPF를 처음 해볼때 막막했던게

C#에서는 속성창에 보면 각 컨트롤에 대한 이벤트부분이 있어
그곳을 통해서 쉽게 작성이 가능했는데 WPF에서는 컨트롤을 아무리
눌러보아도 이벤트관련 부분이 안보이는 겁니다 -_-

그래서 몇일을 삽질하다 알아낸게 XAML이나 CS코드상에서 직접
이벤트를 등록시켜주어야 한다는겁니다


사용자 삽입 이미지

일단 폼상에(C#에서는 Form객체인데 WPF에서는 Window객체를 사용합니다. 속성도 좀 달라요) 가장 기본적인 버튼 컨트롤을 하나 올려놓겠습니다

버튼을 올려놓은뒤에 XAML코드를 보면
--------------------------------------------------------------------------------
<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <Button Height="23" Margin="60,86,0,0" Name="button1" VerticalAlignment="Top"  HorizontalAlignment="Left" Width="75">Button</Button>
    </Grid>
</Window>
----------------------------------------------------------------------------------

빨간색으로 표시된 부분이 컨트롤에 관련된 XAML코드입니다. 저부분에서 버튼의 속성이나
이벤트를 정해줄수 있습니다. 현재 버튼의 크기는 23이고 윈도우객체로부터의 간격은
"Margin"속성에 설정을 하였습니다. 컨트롤의 이름은 button1이며  정렬상태를 보여주는
VerticalAlignment="Top"  HorizontalAlignment="Left" 버튼의 폭은 75로 되어있습니다

<Button>에서부터 </Button>까지가 한개의 컨트롤에 대한 명세인데 이곳에 이벤트를 등록시켜주면  됩니다. 기본적인 click이벤트를 위해 click을 치면 인텔리센스를 통해서 이렇게
이벤트 항목이 나오면 이걸 선택해 주시면

사용자 삽입 이미지

아래와 같이 첨보는 항목이 나오죠
사용자 삽입 이미지
이 항목은  해당 컨트롤에서 click이벤트시에 연결할 메소드를 연결하는 역할을 합니다.
여기서 저 메뉴를 선택하면 자동으로 CS코드에 아래와 같이 메소드명이 명명됩니다.
(메소드명은 사용자가 임의로 바꾸어도 상관없습니다)

사용자 삽입 이미지

명명된 메소드명을 선택한뒤 마우스 오른쪽 버튼을 누르면 아래의메뉴를 선택해주시면
CS코드상에 컨트롤과 연결되는 이벤트 코드가 생성됩니다.
사용자 삽입 이미지

아래오 같이 생긴 코드안에 이벤트시 일어날 기능을 작성해 주시면 됩니다.
사용자 삽입 이미지

Posted by shunman
,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
C#은 얼추 1년6개월정도 했지만 WPF로 넘어오면서
WPF에서 사용하는 문법이 확 늘어나서 새로 배워야될거 같습니다.

일반적으로 쓰이는 코드도 WPF에서는 바뀐것들도 있는것 같구요

WPF 완전 초짜와 함께 WPF의 컨트롤 사용법과 활용방법을 배워봅시다 ㅠㅠ

아 물론 제가 이해가 되야 멀 어케 하겠죠? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

제가 모르는것이 있으면 여러분이 도와주세요 ㅋ
Posted by shunman
,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
MS사이트를 뒤적이다 보니 공개가 되었더군요

http://www.microsoft.com/express/download/

현재 한글판은 아직 나오지 않은것 같습니다. 영문판만 다운이 가능하네요.

설치시간은 2005버전에 비해 상당히 오래 걸립니다. 프레임워크가 3.5버전으로 올라가서
프레임워크 설치하는것 때문인것 같더군요.

IDE툴 외형은 2005와 똑같습니다. 하지만 2005에서 작성한 프로젝트를 열면
2005에서 2003버전프로젝트를 열때처럼 프로젝트 변환마법사가 실행됩니다.

변환마법사로 변환해도 다행히 2005버전에서 프로젝트 여는데는 아무 문제가 없습니다.
실행도 잘 됩니다. 한동안은 2008버전 가지고 만지작 거려바야겠네요~
Posted by shunman
,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

라벨컨트롤의 배경을 투명하게 하려면 다음과 갈이 해주시면 됩니다.
예를 들어 form1위에 라벨컨트롤이 있고 form1의 배경색으로 투명하게하고 싶으면


  label1.BackColor = Color.Transparent;
  label1.Parent = this;   // 투명하게 하기 위해 라벨컨트롤이 얹혀있는 상위 컨트롤 이름
 
라고 입력해주시면 됩니다.

위의 코드를 입력하기 전입니다(일부러 라벨의 배경색을 눈에 띄게 했습니다)

사용자 삽입 이미지

위의 코드를 Form_Load이벤트에 넣어보았습니다.
사용자 삽입 이미지

폼의 배경색(또는 이미지 그림)을 기준으로 라벨컨트롤이 투명하게 되었습니다.

위의 소스에서는 label1.parent 에 form1라고 적혀 있지만  저기는 라벨컨트롤이
얹혀있는(컨테이너)  컨트롤 이름을 바꿔주면 다른 컨트롤 위에 있더라도 얼마든지 투명하게 만들수 있습니다.
Posted by shunman
,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
이건 뭐 팁이라기보다는 꽁수입니다만...

C#뿐만이 아니고 파일관련 함수가 지원되는 모든 언어에서 다 쓸수 있는것입니다.

엑셀에서 CVS파일을 읽어올수 있는데 CVS파일은 데이터간의 구분을 TAB 문자로 합니다

그러니까   C#에서 저장할때

"ddddddddd" + "\t" +"wwwwwwwwwwwww"  이렇게 한다면
가운데 \t 로 인해 TAB 공백이생기게됩니다.

그리고 파일명을 정할때 확장자를 .xls로 지정해서 저장을 하신다면

완벽한 엑셀파일로 변하게 됩니다  ^^;

실제로 이렇게 하여 파일을 실행하면 엑셀에서 바로 열리게 되고 데이터컬럼간의 구분도

완벽하게 할수 있습니다
Posted by shunman
,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
사용자 삽입 이미지
처음 띄운 모습입니다.

여기서 화면 가운데의 버튼을 누르면
사용자 삽입 이미지

이런식으로 프로그래스바가 천천히 올라갑니다

                                                         예제 소스입니다

사용언어는 C# 이며 닷넷프레임워크 2.0 또는 그 이상의 버전이 설치되어 있어야 실행이 됩니다.
Posted by shunman
,