나는 C#에서 자동차 애니메이션을 작업하고 있으며 자동차가 여전히 Window에 있는지 테스트하려고합니다. Windows Forms 디자이너로 양식을 만들었습니다.C# - 사각형의 사각형 가져 오기
public Rectangle CarShape { get; set; }
...
CarShape = new Rectangle(Pos, new Size(28, 62));
그리고 내를 Form1 클래스 :
가 나는 자동차의 사각형이 여기
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Startcars();
}
//Here is my Question:
public static Rectangle Window { get; } = new Rectangle(new Point(0,0),Form1.Size);
...
}
나는 오류 얻을 : "개체 참조가 비 정적 필드에 필요하다, 메서드 또는 속성 'Form.Size' ".
정적 속성에서도 유효하지 않은 'this'로 시도해 보았습니다. 속성을 정적이 아닌 것으로 변경하면 현재 컨텍스트에서 유효하지 않게됩니다.
나중에 나는 차 창 내부에 여전히 만약 내가 사각형으로 창을 얻거나 시험의 더 나은 방법이 어떻게if(!Window.Contains(car.CarShape))
그것을 확인하는거야?
왜 선언'Window'as' static'? – Pikoh
우선, winforms의 공통 클래스이기 때문에 Window를 속성 이름으로 사용하지 마십시오. 둘째, Form1 클래스에는 크기가 없으므로이 속성은 정적 일 수 없습니다. 클래스에 크기가있는 경우 Pikoh가 말한 것을 수행하십시오. – Lithium
Form1의 인스턴스를 가져 오는 방법은 무엇입니까? w Form1()? 어쩌면 어리석은 질문이지만 C#을 처음 접했을 때 ... –