天天看點

随機點名功能随機點名功能

随機點名功能

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

開發工具與關鍵技術:Visual Studio 2015

作者:朱海恩

撰寫時間:2019年8月02日

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

随機抽人點名軟體功能很簡單,就是随機點名,已經點過的人名,還參與下次點名(不去重複)。主要側重于功能實作,界面沒有美化,代碼也寫得很随意,大概知識點有:産生随機數等。

随機點名器:

1、存儲所有學生姓名,添加

功能描述:

1、擷取班級名單的檔案路徑

2、随機生成一個學生

大概的流程:

  1. 聲明一個字元串來擷取班級名單的檔案路徑
  2. 執行個體化一個僞随機數生成器類
  3. 讀取路徑為文本檔案的文本内容到數組,一行為一個成員,是以不用分割了
  4. 标簽文本擷取随機數對應到的人名

XAML頁面:

XAML頁面的設定可以根據自己想要的來設計。我這裡就簡單的設計了一下,就給了一張圖檔做背景圖,還有一個按鈕和文本框。代碼如下:

<Image  Source="/Images/573fc5be7d65c.jpg"

Stretch="Fill">

</Image>

<TextBox  Name="lb_name"

Background="LightSkyBlue"

Opacity="0.5"

Width="250"

Height="60"

FontSize="20"

FontWeight="Black"

FontFamily="Vivaldi"

VerticalContentAlignment="Center"

HorizontalContentAlignment="Center"

Margin="260,189,283.6,171">

</TextBox>

<Button Content="随機按鈕"

Width="100"

Height="50"

FontSize="20"

Background="SkyBlue"

FontWeight="Black"

Click="Button_Click"

Margin="336,307,357.6,63">

</Button>

C#代碼如下:

private void Button_Click(object sender, RoutedEventArgs e)

{

//擷取程式運作目錄下的NAME.TXT檔案路徑

string path = Directory.GetCurrentDirectory() + "\\name.txt";

//執行個體化一個僞随機數生成器類.

Random rand = new Random(System.Guid.NewGuid().GetHashCode());

//讀取路徑為path文本檔案的文本内容到數組.一行為一個成員是以不用分割了.

//ReadAllLines方法預設采用UTF8編碼

string[] str_nameText = File.ReadAllLines(path);

//标簽文本為取随機數對應到人名.

lb_name.Text = str_nameText[rand.Next(0, str_nameText.Length)];

}

最終界面效果圖:

随機點名功能随機點名功能

注意點:

  1. 讀取檔案到TextBox時出現中文亂碼。怎麼辦?

解決方法:

(1)将文本檔案儲存為UTF-8編碼

(2)将文本檔案儲存為ANSI編碼(這是Windows文本檔案預設的編碼)

2、未能找到檔案,問題如下圖所示:

随機點名功能随機點名功能

解決方法:

在建立檔案名的時候,不要給字尾,比如檔案名為“name.txt”,那麼我們可以把字尾去掉,改成為“name”。

這種随機點名系統有點簡單,但是實用。