2016-08-22 51 views
-2

在我的代碼中,我使用了兩個button_Click方法。我想使用另一箇中第一個方法的一些變量的值。例如:我想使用button1_Click中定義的hw的值在button2_Click中。可能嗎?如何將變量值從一種方法用於C#中的另一種方法?

public int h, w; 
public Form1() 
{ 
    InitializeComponent(); 

    textBox1.Text = "Image Path here ..."; 
} 

public void button1_Click(object sender, EventArgs e) 
{ 
    OpenFileDialog dlg = new OpenFileDialog(); 
    dlg.Title = "Select an Image"; 
    dlg.Filter = "jpg files (*.jpg)|*.jpg"; 
    if (DialogResult.OK == dlg.ShowDialog()) 
    { 
     this.pictureBox1.Image = new Bitmap(dlg.FileName); 
     Bitmap img = new Bitmap(dlg.FileName); 
     int w = img.Width; 
     int h = img.Height; 
     pictureBox1.Height = h; 
     pictureBox1.Width = w; 
     textBox1.Text = dlg.FileName; 
    } 
} 

public void button2_Click(object sender, EventArgs e) 
{ 
    MessageBox.Show("Height is- " + h.ToString() + " Width is- " + w.ToString(), "Height & Width"); 
} 
+0

你應該學會編寫可維護的代碼(例如'textbox1'不是非常具有描述性)......並刪除無用代碼,比如創建一個'Bitmap'兩次。你也應該使用'String.Format'來格式化文本。並正確縮進文字。你應該設置消息框標題和圖標。 – Phil1970

回答

1

在你button1_Click你是不是分配給h和類的w,但局部變量。只要改變

int w = img.Width; 
int h = img.Height; 

w = img.Width; 
h = img.Height; 

,它應該工作,如果我理解你正在努力實現正確的。

相關問題