我試圖用子母箱C#動態表單幫助
生成圖片的代碼(我能想到扔磚成一種最簡單的方法),以使在C#中的瓦片地圖編輯器的東西箱子是:
public void Generate_Tiles(int width, int height)
{
for (int x = 0; x < width; x++)
{
for (int y = 0; y < height; y++)
{
System.Windows.Forms.PictureBox picturebox = new PictureBox();
picturebox.BackColor = SystemColors.ActiveCaption;
picturebox.Cursor = Cursors.Cross;
picturebox.Location = new System.Drawing.Point((x*32) + 4, (y*32) + 4);
picturebox.Name = x+y+"tile";
picturebox.Size = new System.Drawing.Size(32, 32);
picturebox.TabIndex = 0;
picturebox.TabStop = false;
picturebox.Click += new System.EventHandler(TileBox_Clicked));
map.Controls.Add(picturebox);
}
}
MessageBox.Show("Done");
}
那部分作品,只要我使用少量的圖片框在一個時間(8×8似乎是,它希望在一段體面的數額顯示最大)
我想執行一些操作,當用戶點擊指定的圖片框,這就是爲什麼我有一個點擊方法,這是我遇到問題的地方,所有的圖片框被稱爲...圖片框。據我所知,我無法分辨用戶點擊了哪個圖片框。
我可能需要改變動態窗體的工作方式,因爲我無法獲得很多圖片框,但我認爲主要問題仍然存在,只要我希望它是動態的(我),並不是所有的貼圖都是相同的大小。
我從來沒有做過這樣的事情,我已經尋找方法來覆蓋onclick事件......我找不到,我找不到一個很好的tile-engine,它是最新的使用(XNA除外,但對於一個簡單的磁貼編輯器來說,這有些超出我的想象)
我可能會在相反的方向,然後我需要做什麼。
...並且爲了完整性,您可能希望通過在該步驟後檢查確定您的投射是否有效 - 您可能會意外地將另一個對象的Click事件連接到該方法(儘管它可能只是我做的那樣的事情;))... – ZombieSheep 2011-02-07 15:21:12
@ZombieSheep Yep;檢查爲空將預計......編輯爲「完整性」;) – 2011-02-07 15:43:11