001.
using
System;
002.
using
System.Collections.Generic;
003.
using
System.ComponentModel;
004.
using
System.Data;
005.
using
System.Data.OleDb;
006.
using
System.Drawing;
007.
using
System.Linq;
008.
using
System.Text;
009.
using
System.Windows.Forms;
010.
011.
namespace
Bison_v0._2
012.
{
013.
public
partial
class
MainForm : Form
014.
{
015.
public
MainForm()
016.
{
017.
InitializeComponent();
018.
}
019.
020.
private
void
MainForm_Load(
object
sender, EventArgs e)
021.
{
022.
023.
}
024.
025.
private
DataSet _DataSet;
026.
027.
028.
private
void
btnSearch_Click(
object
sender, EventArgs e)
029.
{
030.
string
BusNum = txtNum.Text;
031.
string
Start = txtStart.Text;
032.
string
Terminal = txtTerminal.Text;
033.
034.
if
((BusNum ==
""
) && (Start ==
""
) && (Terminal ==
""
))
035.
MessageBox.Show(
"กรุณากรอกรายละเอียดการค้นหา"
,
"No Detail"
);
036.
037.
038.
string
conStr =
"Provider=Microsoft.Ace.OleDb.12.0;"
+
039.
@
"Data Source=C:\Users\Plugfai\Documents\Visual Studio 2008\Projects\Bus_Aplication\Data\Bus Transport of Bangkok.accdb"
;
040.
OleDbConnection conn =
new
OleDbConnection(conStr);
041.
conn.Open();
042.
043.
_DataSet =
new
DataSet();
044.
OleDbCommand cmd;
045.
OleDbDataAdapter adapter;
046.
string
sql;
047.
048.
sql =
"SELECT * FROM Bus_Lines WHERE Bus_Number="
+
"'"
+ BusNum +
"'"
;
049.
cmd =
new
OleDbCommand(sql, conn);
050.
adapter =
new
OleDbDataAdapter(cmd);
051.
adapter.Fill(_DataSet,
"BusData"
);
052.
053.
int
Check = _DataSet.Tables[
"BusDAta"
].Rows.Count;
054.
if
(Check == 0)
055.
MessageBox.Show(
"ไม่พบข้อมูล"
);
056.
else
057.
Show_DataBindings();
058.
059.
UpdateStatus();
060.
conn.Close();
061.
}
062.
063.
private
void
Show_DataBindings()
064.
{
065.
txtName.DataBindings.Clear();
066.
rtbGo.DataBindings.Clear();
067.
rtbBack.DataBindings.Clear();
068.
txtName.DataBindings.Add(
"Text"
, _DataSet,
"BusData.Bus_Name"
);
069.
rtbGo.DataBindings.Add(
"Text"
, _DataSet,
"BusData.Ramble"
);
070.
rtbBack.DataBindings.Add(
"Text"
, _DataSet,
"BusData.Way_Back"
);
071.
}
072.
private
void
UpdateStatus()
073.
{
074.
int
Pos =
this
.BindingContext[_DataSet,
"BusData"
].Position + 1;
075.
string
Status = Pos.ToString() +
" of "
+ _DataSet.Tables[
"BusData"
].Rows.Count;
076.
077.
lblStatus.Text = Status;
078.
}
079.
080.
private
void
btnBack_Click(
object
sender, EventArgs e)
081.
{
082.
int
Pos =
this
.BindingContext[_DataSet,
"BusData"
].Position;
083.
if
(Pos == 0)
084.
{
085.
return
;
086.
}
087.
else
088.
{
089.
this
.BindingContext[_DataSet,
"BusData"
].Position -= 1;
090.
}
091.
UpdateStatus();
092.
}
093.
094.
private
void
btnNext_Click(
object
sender, EventArgs e)
095.
{
096.
int
Pos =
this
.BindingContext[_DataSet,
"BusData"
].Position;
097.
int
numRows = _DataSet.Tables[
"BusData"
].Rows.Count;
098.
099.
if
(Pos == (numRows - 1))
100.
{
101.
return
;
102.
}
103.
else
104.
{
105.
this
.BindingContext[_DataSet,
"BusData"
].Position += 1;
106.
}
107.
UpdateStatus();
108.
}
109.
110.
private
void
pnMap_Paint(
object
sender, PaintEventArgs e)
111.
{
112.
string
WordCheck =
"-"
;
113.
114.
int
start = 0;
115.
int
foundPos = -1;
116.
int
count = 0;
117.
while
(
true
)
118.
{
119.
foundPos = rtbGo.Find(WordCheck, start, RichTextBoxFinds.MatchCase);
120.
if
(foundPos != -1)
121.
{
122.
count++;
123.
}
124.
else
125.
{
126.
127.
for
(
int
i = 1; i <= (count + 1); i++)
128.
{
129.
Graphics g = e.Graphics;
130.
131.
Pen myPen =
new
Pen(Color.Red, 3);
132.
Point p1 =
new
Point(5 + (50 * i), 150);
133.
Point p2 =
new
Point(100, 150);
134.
g.DrawLine(myPen, p1, p2);
135.
136.
137.
SolidBrush Point_1Pen =
new
SolidBrush(Color.Red);
138.
g.FillEllipse(Point_1Pen, 5 + (50 * i), 145, 10, 10);
139.
g.Dispose();
140.
141.
}
142.
break
;
143.
}
144.
start = (foundPos + WordCheck.Length);
145.
}
146.
}
147.
148.
}
149.
}