我正在繪製文件夾&文件夾名稱列表,我試圖集體討論檢測用戶是否以及何時單擊文件/文件夾名稱以及他們實際單擊的文件或文件夾名稱的最佳方法。如何檢測一個動態繪製圖形的點擊?
以下是我寫到目前爲止的方法。我的第一個想法是用透明控件背誦每一段文本,並以這種方式動態連接onclick事件。但是這似乎是浪費資源。
private void DisplayFolderContents(ListBox lb, string sPath)
{
lblPath.Text = sPath;
const float iPointX = 01.0f;
float iPointY = 20.0f;
DirectoryContents = FileSystem.RetrieveDirectoriesAndFiles(sPath, true, true, "*.mp3");
foreach (string str in DirectoryContents)
{
DrawString(FileSystem.ReturnFolderFromPath(str), iPointX, iPointY, 21, panListing);
iPointY += 50;
}
}
private void DrawString(string textToDraw, float xCoordinate, float yCoordinate, int fontSize, Control controlToDrawOn)
{
Graphics formGraphics = controlToDrawOn.CreateGraphics();
formGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
Font drawFont = new Font(
"Arial", fontSize, FontStyle.Bold);
SolidBrush drawBrush = new
SolidBrush(Color.White);
formGraphics.DrawString(textToDraw, drawFont, drawBrush, xCoordinate, yCoordinate);
drawFont.Dispose();
drawBrush.Dispose();
formGraphics.Dispose();
}
感謝, 凱文
謝謝。這確實回答了我問的問題。 – Kevin 2009-08-14 17:44:10