顯示具有 C# 標籤的文章。 顯示所有文章
顯示具有 C# 標籤的文章。 顯示所有文章

2020年12月3日 星期四

C#加入Excel物件

 1. 點選"專案名稱" > "Add" > References。


2. 按下"Browse...",選擇Excel執行檔路徑,一都安裝在"C:\Program Files (x86)\Microsoft Office\Office14\EXXEL.EXE"。

3. 最後程式中加入"using Microsoft.Office.Interop.Excel;",就可以使用Excel物件。



2019年12月19日 星期四

加入ZedGrapControl控制項

1. 在專案視窗中點選"References",按"滑鼠右鍵" > "Add Reference..."。

2. 選擇"Browse"欄位後,按"Browse..."按鈕。

3. 點選"ZedGraph.dll"後,按"Add"。

4. 結果可以看到專案中增加參考的"ZedGraph"。

5. 使用"滑鼠左鍵"點選"Toolbox"視窗後,按"滑鼠右鍵" > "Choose Items..."。

6. 在".NET Framework Components"標籤欄,按"Browse..."按鍵。

7. 點選"ZedGraph.dll"後,按"開啟"。

8. 可以看到在".NET Framework Components"標籤欄中增加參考的"ZedGraphControl",最後按"OK"。

9. 結果可以在"Toolbox"視窗中看到"ZedGraphControl"控制項。

2019年4月8日 星期一

C#加入支援C#的DLL

使用FTDI chip所提供的DLL動態連結函示庫為例。

(1). 加入"FTD2XX_NET"時出現錯誤訊息。

(2). 點選"References"按"滑鼠右鍵",點選"Add Reference..."。

(3). 點選"Recent",之後點選"Browse",尋找DLL動態連結函示庫的路徑,並勾選,最後按"OK"。

(4). 成功加入DLL動態連結函示庫。

2018年11月13日 星期二

鍵盤事件

(1). 點選"控制項"。

(2). 在屬性視窗中點選"事件按鈕(閃電圖示)"。
(3). 選擇"KeyDown"、"KeyPress"或"KeyUP"事件"快按兩下"。
a. KeyDown事件: 鍵盤任意鍵按住不放時觸發。
b. KeyPress事件: 鍵盤字元鍵被按時觸發。
c. KeyUP事件: 鍵盤任意鍵按下放開時觸發。

(4). 輸入程式。
KeyDown範例:

if(e.KeyCode == Keys.Enter)
{
     ...............
}


KeyPress範例:

if(e.KeyCode == (char)Keys.A)
{
     ...............
}


KeyUP範例:

if(e.KeyCode == Keys.Enter)
{
     ...............
}

(5). 在Form1.cs下點選視窗外框,將"KeyPreview"改成"True"。

注意:

KeyEventArgs類別的屬性:
Alt 取得值,指出是否按下 ALT 鍵。
Control 取得值,指出是否按下 CTRL 鍵。
Handled 取得或設定值,指出是否處理事件。
KeyCode 取得 KeyDown 或 KeyUp 事件的鍵盤程式碼。
KeyData 取得 KeyDown 或 KeyUp 事件的按鍵資料。
KeyValue 取得 KeyDown 或 KeyUp 事件的鍵盤值。
Modifiers 取得 KeyDown 或 KeyUp 事件的輔助鍵旗標。 這些旗標是表示按下 CTRL、SHIFT 和 ALT 哪些按鍵組合。
Shift 取得值,指出是否按下 SHIFT 鍵。
SuppressKeyPress 取得或設定值,指出按鍵事件是否應該傳遞至基礎控制項。

Keys Enum(鍵盤列舉)
列舉常數值 KeyCode
Keys.D0~Keys.D9 48~57
Keys.A~Keys.Z 65~90
Keys.F1~Keys.F12 112~121
Keys.Left~Keys.Right 37、39
Keys.Up~Keys.Down 38、40
Keys.Enter~Keys.Space 13、32
Keys.ShiftKey 16
Keys.ControlKey 17
Keys.Escape 27


2017年2月26日 星期日

將C編譯成DLL,給C#使用(2)

(1). 選擇"檔案" > "新增" > "專案"。

(2). 選擇"Visual C#" > "Windows桌面" > "Windows Form 應用程式",並且修改專案的"名稱"後按"確定"。

(3). 點選"方案總管"下的"From1.cs"開啟設計標籤頁,使用"工具箱"在Form1設計增加控制項"textBox1""textBox1""textBox1"與"button1",最後使用"滑鼠左鍵"點兩下"button1"。

(4). 跳到Form1.cs程式設計的檔案中,輸入程式。
a. 先加入
       using System.Runtime.InteropServices; //加入協同工作

b.
        [DllImport("ConsoleApplication1.dll", EntryPoint = "add")] //加入dll名稱
        public static extern  int add(int x, int y); //加入函式名稱
c.
            int a, b;
            a = Int32.Parse(textBox1.Text); //文字轉數字
            b = Int32.Parse(textBox2.Text);

            textBox3.Text = add(a, b).ToString(); //數字轉文字

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
using System.Runtime.InteropServices;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        [DllImport("ConsoleApplication1.dll", EntryPoint = "add")]
        public static extern  int add(int x, int y);
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            int a, b;
            a = Int32.Parse(textBox1.Text);
            b = Int32.Parse(textBox2.Text);
 
            textBox3.Text = add(a, b).ToString();
        }
 
    }
}


(5). 之後先將上一章節產生的"xxx.dll"檔複製到目前專案下的,"\bin\Debug"的路徑下。

(6). 按"開始"編譯程式。

(7). 最後顯示結果。