2012-11-16 33 views
0

我正試圖創建一個方法,它會在標題爲「The Title」的MessageBox中產生「Adam」。此代碼不起作用。這是因爲回報只能返回一個值,例如只有字符串名稱?如果我刪除標題選項,它工作正常。任何想法都會很棒。使用String創建方法。 C#

private void button1_Click(object sender, EventArgs e) 
    { 
     MessageBox.Show(myMethod("Adam", "The Title")); 
    } 
    string myMethod(string name, string title) 
    { 
     return name, title;    
    } 

} 

}

+1

您必須返回一個string類型的對象。所以你必須返回名稱+標題。 – Tomtom

+1

使用連接 – Zaki

+1

'返回string.Concat(名稱,標題);'或'返回名稱+標題;' – Habib

回答

4

試試這個:

private void button1_Click(object sender, EventArgs e) 
    { 
     MessageBox.Show(myMethod("Adam", "The Title")); 
    } 
    string myMethod(string name, string title) 
    { 
     return name + " " + title;    
    } 

編輯:展現 「的標題是」 對texbox

private void button1_Click(object sender, EventArgs e) 
     { 
      myMethod("Adam", "The Title"); 
     } 
     void myMethod(string name, string title) 
     { 
      MessageBox.Show(name,title);  
     } 
+1

標題應該可能是Show方法的第二個參數,因爲OP說他希望標題是「標題」。但問題相當混亂。 – PHeiberg

+0

同意,這沒關係,他的想法是,他正在使用一個錯誤的回報 –

+0

嗨,謝謝你的答案。這會在MessageBox中產生名稱和標題,這很有用,因爲我需要知道如何執行該操作。對不起,我是編程新手,因爲我相信你已經猜到了。我試圖在MessageBox中使用MessageBox的標題「The Title」來命名「Adam」。有任何想法嗎? – Gilo

0

的方法只能返回一個值。返回的值是一個複雜的類型,所以你可以通過創建自己的數據類型(或使用內置型)返回多個字符串:

class Message 
{ 
    public string Title {get; set;} 
    public string Message {get; set;} 
} 

利用這一點,你可以做

private void button1_Click(object sender, EventArgs e) 
{ 
    var message = MyMethod("Title", "Message"); 
    MessageBox.Show(message.Title, message.Message); 
} 

Message myMethod(string name, string title) 
{ 
    return new Message{Title = title, Message = name};    
} 

鑑於這種情況,它是毫無意義的,但myMethod可以做參數的查找或操縱,以產生返回的消息。

另一種方法是,正如已經討論的那樣,讓myMethod處理消息框的顯示。

private void button1_Click(object sender, EventArgs e) 
{ 
    myMethod("Adam", "The Title"); 
} 
void myMethod(string name, string title) 
{ 
    MessageBox.Show(name,title);  
}