2016-08-28 98 views
2

我想動畫在C#按鈕按鈕效果的方法。所以我創建了一個名爲HoverMouseBut()的方法如下。創建改變在C#

public void HoverMouseBut(Button name,Image img, int w, int h) 
{ 
    name.Image = Resources.img; 
    name.ForeColor = Color.FromArgb(232, 126, 4); 
    name.Size = new Size(w, h); 
    name.Font = new Font("Segoe UI", 12, FontStyle.Regular); 
    name.TextAlign = ContentAlignment.BottomCenter; 
    name.ImageAlign = ContentAlignment.MiddleCenter; 
} 

我將這種方法稱爲:

private void addo_MouseHover(object sender, EventArgs e) 
{ 

    HoverMouseBut(addo,Add2,250,160); 

} 

這給了我一個語法錯誤。我改變了方法,無需圖像參數和see.Then它worked.But我想更改按鈕圖像well.How我能做到這一點?我的代碼有什麼問題?

* ADD2是資源的圖像。

+1

你看上去總是設置'Button.Image'屬性'Resources.img'提交 - 也許你應該只將其設置爲'img'參數:'name.Image = img;'? – khargoosh

回答

1

您正在使用C#可能的工作和形式都像在C#中的其他屬性。因此你有不同的選擇來做到這一點。 一個最簡單的人是有你需要的類型的公共屬性在你的第二個形式,並用它來傳遞數據

class Form2 
{ 
public string myStringField{get;set;} 
} 

class Form1 
{ 
myMethod() 
{ 
.... 
var newForm= new Form2(); 
newForm.myStringField="Something"; 
} 
} 

但是,如果你的窗體2離不開你的領域存在,它是有意義的把您在構造函數中

class Form2 
{ 
    public Form2 (string myStringField) 
{...} 
} 
class Form1 
{ 
myMethod() 
{ 
.... 
var newForm= new Form2("Something"); 

} 
} 
1

如果你想爲圖像傳遞到所使用的方法,你爲什麼要設置name.Image = Resources.img

將其更改爲name.Image = img