我想在C#中做一個基本的足球遊戲,並且除了在遊戲中相當重要的各種弧和圓外,我幾乎完成了該領域,特別是設置電腦玩家無法通過的界限,而他們的隊友/對手正在排隊踢球。 所以,我試過的所有方法都沒有工作,因爲顯然我使用字段類型,但我正在複製代碼。但我不認爲它顯示錯誤代碼非常重要,因爲我開始刪除它,我希望這些圈子永久存在,而不是在調試開始時。所以這就是我所需要的:具有圓形邊框的面板保持圓形,並且是一種將其放入我的代碼中的方式,如有必要,我會發布這些代碼。 Visual Studio C#Express 2010. 所有幫助表示感謝,在C#中將一個面板變成一個圓圈Visual Studio 2010
0
A
回答
0
在面板上繪製圓的一種簡單方法是繼承Panel
並覆蓋OnPaint
方法。在這種方法中,你可以在Graphics
對象事件參數中調用DrawEllipse
。感興趣的是,尺寸被設置爲寬度-1和高度-1。這會停止圓圈的右側和底部以消除面板控件。
我在這段代碼中加入了一個增強功能,即在OnResize
方法中約束寬度&高度,這可以確保您的面板始終是一個圓形,與Ellipse(可以具有不同的寬度和高度)相反。只需將此控件拖放到窗體上並在設計器中播放即可。
public class CirclePanel : Panel
{
public CirclePanel()
{
}
protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
g.DrawEllipse(Pens.Black, 0,0,this.Width-1,this.Height-1);
}
protected override void OnResize(EventArgs e)
{
this.Width = this.Height;
base.OnResize(e);
}
}
+0
我已經這樣做了,但沒有發生任何事情:(我認爲它可能在公共CirclePanel裏面沒有任何內容,我有8個面板需要繪製弧線,我需要把他們的名字放在這裏嗎?如果這是煩人的 謝謝 – Apophis 2010-07-13 01:04:20
0
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
Pen mypen;
Color mycolor=Color.Red;
Graphics mygraph;
int xloc = 50, yloc = 50;
public Form1()
{
InitializeComponent();
mygraph = CreateGraphics();
}
private void Form1_Load(object sender, EventArgs e)
{
}
float x = 270, y = 0.5f;
int xmover = 100, ymover = 48;
private void timer1_Tick(object sender, EventArgs e)
{
mygraph.DrawEllipse(new Pen(Color.Red), xloc, yloc, 102, 102);
mygraph.FillEllipse(new SolidBrush(Color.Red), xmover++, ymover++, 4, 4);
mycolor = this.BackColor;
mygraph.DrawPie(new Pen(mycolor), xloc+1, yloc+1, 100, 100, x-1, y);
mygraph.DrawPie(new Pen (Color.Red), xloc + 1, yloc + 1, 100, 100, x++, y);
mygraph.FillEllipse(new SolidBrush(mycolor), xmover-1, ymover - 1, 4, 4);
mygraph.DrawEllipse(new Pen(Color.Red), 100, 50, 5, 5);
}
}
}
相關問題
- 1. 不能建一個C++在Visual Studio 2010
- 2. CSS:位置圓(LI)成一個圓圈
- 3. 尋找一個圓圈是否在另一個圓圈內
- 4. 在C#visual studio 2010中不會改變面板的可見性
- 5. 將一個圓圈繪製成一個Jframe
- 6. 計算在一個圓圈
- 7. 如何在一個圓圈
- 8. 圍繞一個大圓圈移動一個小圓圈
- 9. 創建一個由小圓圈組成的擴展圓圈
- 10. PyGame/Python:將一個圓圈放到一個橢圓上
- 11. 如何讓一個圓圈成長?
- 12. 如何使UIButton成爲一個圓圈?
- 13. 如何在WPF中創建一個帶圓圈的圓圈?
- 14. 將Visual Studio 2010 Project從一個TFS移動到另一個?
- 15. Postgis - 一個圓圈包含另一個
- 16. 在android中畫一個圓圈
- 17. 在directx中繪製一個圓圈9
- 18. 我想在VB.Net中畫一個圓圈
- 19. 如何將一個數字置於一個圓圈中?
- 20. 將BigInteger映射到一個圓圈
- 21. GL_TRIANGLE_FAN畫一個圓圈
- 22. 畫一個圓圈像素
- 23. D3帶上一個圓圈?
- 24. 畫一個彩色圓圈
- 25. Win32 GDI畫一個圓圈?
- 26. 在visual studio 2010中生成錯誤C++
- 27. 如何將圓圈後面的一行移至圓圈底部
- 28. 使用正弦和餘弦將圓圈定位在一個圓圈中
- 29. 將矩形UIImageView變成一個圓形
- 30. 在視圖上畫一個圓圈(android)
你應該向我們展示了bug的代碼,所以我們可以提供幫助。在控件上繪製圓圈要比試圖製作具有圓形邊框的某種面板容易得多。 – Detmar 2010-07-12 06:12:42
您還應該解釋您是否使用WPF或Windows窗體。 – 2010-07-12 06:32:54
我正在使用Windows窗體。如果您可以告訴我如何將圓圈/弧線繪製到更好的面板上,那麼重要的是他們可以處理MouseEnter事件。 – Apophis 2010-07-12 07:42:16