 |
|
สอบถามเรื่องการเปลี่ยนสี ForceColor ของ Textbox |
|
 |
|
|
 |
 |
|
A. สมัยโบราณ
โลกใบเดิมของ TextBox Event GotFocus Event LostFocus
TextBox1
TextBox2
TextBox3
...
...
TextboxN
B. สมัยใหม่
มุมมองใหม่ TextBox แบบ OOP
Event GotFocus
Event LostFocus
...
...
...
EventN
A. มองแบบแยกย่อยจุกจิก (อ้างถึงแต่ละ ID) แต่ B. มองแบบภาพรวม (อ้างถึงทุกตัวผ่านคำว่า Class)
ยกตัวอย่างเพื่อประกอบความเข้าใจ GetFocus&LostFocus ด้วย CSS
Code (CSS)
.Textbox /*LostFocus*/
{
font-size: 14px;
}
.Textbox:focus { /*GotFocus*/
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
}
|
 |
 |
 |
 |
Date :
2014-06-05 07:51:55 |
By :
^ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คิดได้แต่ใช้ไม่เป็นมันก็ไม่มีประโยชน์
Code (C#)
<asp:TextBox ID="TextBox1" CssClass="TextBox" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" CssClass="TextBox" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox3" CssClass="TextBox" runat="server"></asp:TextBox>
...
...
...
TextBoxN
A. คิดได้แต่ทำ B. ไม่เป็น พวกนี้จะหันไปใช้ Tools (ซื้อ/แอบ) อทิเช่น
DevExpress, Telerix, About, ... อื่นฯอีกเยอะเลย
|
 |
 |
 |
 |
Date :
2014-06-05 08:06:45 |
By :
^ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมลืมบอกไปว่าผมพัฒนา Windows Application ครับ
|
 |
 |
 |
 |
Date :
2014-06-06 17:25:21 |
By :
Agility |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

|
 |
 |
 |
 |
Date :
2014-06-06 18:02:31 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 5 เขียนโดย : Agility เมื่อวันที่ 2014-06-06 17:25:21
รายละเอียดของการตอบ ::
Code
วันก่อนผมได้คุยกับเจ้าหน้าที่สโตร์ (ตัวเล็กฯ สกปรกมอมแมม) คุยกันตั้งนาน เขาถามผมว่า พี่ทำงานอะไรครับ?
ผม : เป็นโปรแกรมเมอร์ครับ
เขา : ถ้าอย่างนั้นวันฯพี่คงนั่งจ้องหน้าจอคอมพิวเตอร์และสายตาของพี่คงมองไม่พ้นไปจากโตีะทำงานของพี่ล่ะมั้ง?
ผม : อึ้งเลยครับ (ผมนึกในใจ ภูมิความรู้ไม่ธรรมดาแต่โชคร้ายหัวหน้า/เพื่อนร่วมงานไม่เห็นคุณค่า)
...
...
...
ไม่ธรรมดาจริงฯครับ คุยกันตั้งนาน ทันกันทุกฯเรื่อง
จนผมต้องขอเบอร์โทรของเขา จดลงสมุดบันทึกของผมในหน้าแรกฯเลยครับ
Code (VB.NET)
Imports System.Drawing
Imports System.Windows.Forms
<ToolboxBitmap(GetType(TextBox))> _
Public Class AdvanceTextbox : Inherits TextBox
'รับค่า/แสดงจำนวนจุดทศนิยม
Public Enum TextBoxDisplayPrecisionScale As Byte
None = 0
One = 1
Two = 2
Tree = 3
Four = 4
End Enum
#Region " Variables "
Private _DisplayPrecisionScale As TextBoxDisplayPrecisionScale
#End Region
#Region " Properties "
<System.ComponentModel.DefaultValue(GetType(TextBoxDisplayPrecisionScale), "None"), System.ComponentModel.Category("Appearance")> _
Public Property DisplayPrecisionScale() As TextBoxDisplayPrecisionScale
Get
Return _DisplayPrecisionScale
End Get
Set(ByVal Value As TextBoxDisplayPrecisionScale)
_DisplayPrecisionScale = Value
MyBase.TextAlign = HorizontalAlignment.Right 'จัดตำแหน่งชิดขวา
Dim dblSubMybaseText As Double
If String.IsNullOrEmpty(MyBase.Text) OrElse Not IsNumeric(MyBase.Text) Then
dblSubMybaseText = 0
Else
dblSubMybaseText = CDbl(MyBase.Text)
End If
Select Case Me._DisplayPrecisionScale
Case TextBoxDisplayPrecisionScale.One
MyBase.Text = String.Format("{0:N1}", dblSubMybaseText)
Case TextBoxDisplayPrecisionScale.Two
MyBase.Text = String.Format("{0:N2}", dblSubMybaseText)
Case TextBoxDisplayPrecisionScale.Tree
MyBase.Text = String.Format("{0:N3}", dblSubMybaseText)
Case TextBoxDisplayPrecisionScale.Four
MyBase.Text = String.Format("{0:N4}", dblSubMybaseText)
Case TextBoxDisplayPrecisionScale.None
MyBase.Text = String.Format("{0:N0}", dblSubMybaseText)
End Select
End Set
End Property
#End Region
#Region " Constructor "
Public Sub New()
End Sub
#End Region
Protected Overrides Sub OnGotFocus(e As System.EventArgs)
MyBase.ForeColor = Color.Orange
'More...
MyBase.OnGotFocus(e)
End Sub
Protected Overrides Sub OnLostFocus(e As System.EventArgs)
MyBase.ForeColor = Color.Black
'More...
MyBase.OnLostFocus(e)
End Sub
Protected Overrides Sub OnValidating(ByVal e As System.ComponentModel.CancelEventArgs)
Dim dblSubMybaseText As Double
If String.IsNullOrEmpty(MyBase.Text) OrElse Not IsNumeric(MyBase.Text) Then
dblSubMybaseText = 0
Else
dblSubMybaseText = CDbl(MyBase.Text)
End If
Select Case Me._DisplayPrecisionScale
Case TextBoxDisplayPrecisionScale.One
MyBase.Text = String.Format("{0:N1}", dblSubMybaseText)
Case TextBoxDisplayPrecisionScale.Two
MyBase.Text = String.Format("{0:N2}", dblSubMybaseText)
Case TextBoxDisplayPrecisionScale.Tree
MyBase.Text = String.Format("{0:N3}", dblSubMybaseText)
Case TextBoxDisplayPrecisionScale.Four
MyBase.Text = String.Format("{0:N4}", dblSubMybaseText)
Case Else
MyBase.Text = String.Format("{0:N0}", dblSubMybaseText)
End Select
End Sub
'ปิดเสียง ปี๊ด เมื่อกดปุ่ม Enter
Private Sub SetBeepOff(ByVal senser As Control, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.Enter Then
e.SuppressKeyPress = True
SendKeys.Send("{Tab}")
End If
End Sub
End Class
|
 |
 |
 |
 |
Date :
2014-06-07 08:39:24 |
By :
^ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมลืมบอกไปว่า เด็กสโตร์คนนั้นเขาเก่งเรื่อง โลจีสติกส์ และเรื่องอื่นฯเยอะเลยครับ ผมมั่นใจว่าถ้าเขาเป็นนักวิเคราะห์ระบบ
ในเมืองไทยนี้ก็หาตัวเปรียบเทียบได้ยากมากที่จะให้เขาเป็นสองรองใคร
(คุยได้ยัน โลตัส/บิ๊กซี/เซเวน ทั้งระบบเลย)
ผมโชคดีครับที่เจอเขา เด็กคนนี้อายุ 50 ปีแล้วน่ะจะบอกให้)
ผมตั้งใจว่าจะดึงเขามาเป็นที่ปรึกษาของผมภายในสิ้นปีนี้ (ระบบของผมคงเสร็จสมบูรณ์ทั้ง WinApp/WebApp)

|
 |
 |
 |
 |
Date :
2014-06-07 09:09:29 |
By :
^ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตัวอย่าง xxx

|
 |
 |
 |
 |
Date :
2014-06-07 09:20:03 |
By :
^ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|