2012-08-28 132 views
3

我開始用C#和我通過本教程就如何創建一個簡單的圖片瀏覽器去:刪除Click方法

http://msdn.microsoft.com/en-us/library/dd492135.aspx

你有幾個按鈕創建它,畫面查看區域和複選框。

當我創建表單並添加了一些按鈕時,我能夠運行調試器,查看應用程序,然後單擊不執行任何操作的按鈕。

似乎要爲諸如按鈕單擊之類的事件創建方法,您可以雙擊表單設計中的按鈕作爲快捷方式。

但是,我似乎無法刪除一個方法並運行它。例如,我創建了private void pictureBox1_Click。但是,當我點擊圖片時,我不需要表單來做任何事情。我想刪除該方法。然後,我得到一個錯誤,指出:

「'PictureViewer.Form1'不包含'pictureBox1_Click'的定義,並且沒有擴展方法'pictureBox1_Click'接受類型'PictureViewer.Form1'的第一個參數可以找到(您是否缺少使用指令或裝配參考?)「

我錯過了什麼?當我雙擊pictureBox的時候除了那個方法之外還有別的東西嗎?並不是說它特別麻煩,但如果不小心創建了所有的東西,就必須在代碼中留下空方法,這很奇怪。

在第二個問題上,我添加的控件和容器的代碼在哪裏?我認爲除了屬性窗口之外,還有一個地方可以設置各種屬性。

謝謝你的幫助!

回答

2

在解決方案資源管理器中展開您的「Form1」的Node,然後雙擊Designer.cs(Form1.Designer.cs)。我認爲仍然有對pict​​urebox1點擊事件的引用。你需要刪除這個。

無論如何,Designer.cs會保存您添加到表單中的控件/容器的所有信息,但您仍然可以通過在「form1」後面的常規代碼中創建新值來覆蓋此信息。

+0

謝謝。我想確保我理解設計器文件...因此我認爲Form1的類定義分爲兩個文件,Form1.cs和Form1.Designer.cs? – allstar

+0

@allstar沒問題。 'Form1.cs'是'後面的代碼'文件。在這裏,你可以添加你所有的Form1相關的自寫東西。 「Form1.Designer.cs」是一個自動生成的文件,需要在啓動時初始化Form1。這些文件一起提供Form1工作。 – varg

+0

@allstar不要忘記檢查你的問題的答案。這可以幫助其他人確定哪種「解決方案」對於這類問題是可以接受的。謝謝。 – varg

3

您的表單作爲分部類分散在兩個文件中。背景'接線'代碼位於myform.designer.cs文件中,您的代碼位於myform.cs文件中。如果您只是從代碼中刪除處理程序,則接線代碼仍然存在,您將無法編譯。所以你可以進入designer.cs代碼並從那裏刪除相關的代碼,但如果你剛剛開始,可能不會建議。

正確的做法是在設計器UI中查看按鈕(f4)的屬性並單擊頂部欄上的「事件」按鈕。你應該在某處看到你的事件處理程序。如果在事件處理程序中右鍵單擊,則可以選擇「重置」。點擊它,它會刪除線路代碼。如果你的處理程序不包含任何代碼,那麼我相信它也會刪除(我沒有winfom,在我面前的項目,所以不能肯定地說)。

+0

謝謝...是的,我從設計器文件中刪除了相應的行,它工作。我想我明白你對一個部分課的看法,我會繼續努力。謝謝! – allstar