2016-03-06 54 views
1

我正在寫一個名稱生成器,並且想要添加功能來爲數據庫添加新名稱和姓氏,但是當我嘗試打印運行程序後添加的值時,我得到了整個路徑。例如:我想添加名稱約翰。當發電機選擇約翰它的印刷Windows.Forms.TextBox, Text:John,而不是隻有名稱。我怎樣才能解決這個問題?下面的代碼:如何在winforms中打印文本框中的值?

using System; 
using System.Collections.Generic; 
using System.Windows.Forms; 

namespace NameGen 
{ 
public partial class Form1 : Form 
{ 
    public Generate gen = new Generate(); 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void StartGenerate(object sender, EventArgs e) 
    { 
     lblWynik.Text = Generate.NameGen() + " " + Generate.SurnameGen(); 
     Console.WriteLine("Generating: " + lblWynik.Text); 
    } 

    private void AddName(object sender, EventArgs e) 
    { 
     Generate.LName.Add(NameBox.ToString()); 
     Console.WriteLine("Adding new name to index " + NameBox); 
     NameBox.Clear(); 
    } 

    private void AddSurname(object sender, EventArgs e) 
    { 
     Generate.LSurname.Add(SurnameBox.ToString()); 
     Console.WriteLine("Adding new surname to index " + SurnameBox); 
     SurnameBox.Clear(); 
    } 
} 

public class Generate 
{ 
    static string[] Name = new string[] { "Hank", "Terrence", "Darin", "Alf" }; 
    static string[] Surname = new string[] { "Cooper", "Trump", "Białkov", "Obama" }; 

    public static List<string> LName = new List<string>(); 
    public static List<string> LSurname = new List<string>(); 
    static Random random = new Random(); 

    public static string NameGen() 
    { 
     LName.AddRange(Name); 
     int NameIndex = random.Next(LName.Count); 
     return LName[NameIndex]; 
    } 

    public static string SurnameGen() 
    { 
     LSurname.AddRange(Surname); 
     int NameIndex = random.Next(LSurname.Count); 
     return LSurname[NameIndex]; 
    } 
} 
+1

你應該使用'TextBox'的Text屬性 –

回答

1

爲了得到一個TextBox的文字,你應該使用的TextBoxText財產。例如:Generate.LName.Add(NameBox.Text);

現在您正在使用ToString方法TextBox它返回類型名稱和文本。

+0

謝謝@Reza,這非常有幫助,我可以再問你一件事。爲什麼當我產生名字時,我從這四個預定義中得到更多的名字/姓氏,而不是添加到基地中?我的意思是當我添加一個索引,並生成我得到這個添加索引每4次嘗試40次嘗試? – kubawich

+0

關於你的另一個問題可能我不明白你的意思:) –

+0

我得到了4名predefinied價值每姓名陣列,和姓陣列,以及我可以生成,而不需要在應用程序內添加任何新的值。當我添加一個值來命名和生成(我使用額外的控制檯記錄應用程序內的所有內容)我得到[1-30]生成的索引是從這個預定義的數組,然後一個值是從這個添加的內部應用程序。我想這不是一個僞發生器問題,但我的算法,我不明白什麼是錯的:? – kubawich

相關問題