演練:使用 Windows 表單收集資料

來源:互聯網
上載者:User

此演練將示範如何從 Microsoft Office Excel 文件層級自訂項中開啟 Windows 表單,收集來自使用者的資訊並將這些資訊寫入工作表儲存格。

第一步是要建立一個 Excel 活頁簿項目。

建立新項目
  • 建立一個名為“WinFormInput”的 Excel 活頁簿項目,並在嚮導中選擇“建立新文檔”。

  •  

將一個指定範圍添加到 Sheet1 中
  1. 選擇 Sheet1 中的儲存格“A1”。

  2. 在“名稱”框中鍵入“formInput”。

    “名稱框”位於編輯欄左側,就在工作表的“A”列的上方。

  3. 按 Enter。

    NamedRange 控制項被添加到儲存格“A1”中。 選中儲存格“A1”後,工作表中沒有明顯的指示,但“formInput”會顯示在“名稱”框(正好在左側工作表的上面)和“屬性”視窗中。NameRange控制項,其實就是給一個儲存格起一個名字,當我們修改了儲存格預設的名稱,系統就會自動添加一個名為“NameRange”的控制項到儲存格,在自訂的Windows表單中,我們可以使用Globals.Sheet1.formInput(Globls.活頁簿名稱.自訂的儲存格名稱)來使用這個NameRange控制項,並可以使用NameRange的方法屬性等,例如後面例子中的“Globals.Sheet1.formInput.value2”

將 Windows 表單添加到項目中

建立一個提示使用者輸入資訊的 Windows 表單。

添加 Windows 表單
  1. 在“方案總管”中選擇“WinFormInput”項目。

  2. 在“項目”菜單上,單擊“添加 Windows 表單”。

  3. 將表單命名為 GetInputString.cs,然後單擊“添加”。 新表單在設計器中隨即開啟。

  4. 將一個 TextBox 和 Button 添加到表單中。

  5. 選擇該按鈕,在“屬性”視窗中找到“Text”屬性,將文本更改為“確定”。

接下來,在 ThisWorkbook.cs 中添加用於收集使用者資訊的代碼。

建立並顯示 GetInputString Windows 表單的一個執行個體,然後將使用者的資訊寫入到工作表的某個儲存格中。

顯示表單並收集資訊
  1. 在“方案總管”中右擊“ThisWorkbook.cs”,然後單擊“查看代碼”。ThisWorkbook,好像是應用程式的系統層級管理類

  2. 在 ThisWorkbook 的 Open 事件處理常式中,添加下列代碼以聲明 GetInputString 表單的一個變數,然後顯示該表單。

    注意

    在 C# 中,必須添加一個事件處理常式,如下面的 Startup 事件中所示。

    private void ThisWorkbook_Startup(object sender, System.EventArgs e){    this.Open += new         Microsoft.Office.Interop.Excel.WorkbookEvents_OpenEventHandler(ThisWorkbook_Open);}
    註冊一個事件,在Excel文檔開啟的時候就會自動運行。private void ThisWorkbook_Open(){ GetInputString inputForm = new GetInputString(); inputForm.Show();}
  3. 建立一個名為 WriteStringToCell 的方法,此方法用於將文本寫到一個指定的範圍內。 將從表單中調用此方法,並且使用者的輸入將傳遞到儲存格“A1”上的 NamedRange 控制項 formInput。

    public void WriteStringToCell(string formData){    Globals.Sheet1.formInput.Value2 = formData;}
    Globls.活頁簿名稱.自訂的儲存格名稱.NameRange控制項屬性

接下來,向表單中添加用於處理按鈕的單擊事件的代碼。

 

將資訊發送到工作表
  1. 在“方案總管”中右擊“GetInputString”,然後單擊“視圖設計器”。

  2. 雙擊該按鈕以開啟代碼檔案,按鈕的 Click 事件處理常式也隨之添加。

  3. 向事件處理常式添加代碼以從文字框中提取輸入內容,將其發送到函數 WriteStringToCell,然後關閉表單。

    Globals.ThisWorkbook.WriteStringToCell(this.textBox1.Text);this.Dispose();
測試活頁簿
  1. 按 F5 運行項目。

  2. 確認 Windows 表單顯示。

  3. 在文字框中鍵入“Hello World”,然後單擊“確定”。

  4. 確認“Hello World”顯示在工作表的儲存格“A1”中。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.