Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > การขีดเส้นใต้ 2 เส้นให้กับ textbox.text หรือ label.text vb.net



 

การขีดเส้นใต้ 2 เส้นให้กับ textbox.text หรือ label.text vb.net

 



Topic : 112167



โพสกระทู้ ( 397 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



สอบถามครับ ผมได้กำหนด textbox.text หรือ label.textใน visual basic 2012 เมื่อรับค่ามาแล้วให้ขีดเส้นใต้ 1 เส้น
ดังนี้ textbox1.Font = New Font("Tahoma", 15, & FontStyle.Underline, GraphicsUnit.Point)
แต่ถ้าผมจะกำหนดให้ขีดเส้นใต้ 2 เส้นต้องใช้คำสั่งอะไรครับ แนะนำมือใหม่ด้วยครับ



Tag : Ms SQL Server 2012, VBScript, VB.NET, Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-10-27 08:25:36 By : sakkapong View : 5295 Reply : 15
 

 

No. 1

Guest


ถ้าใน font style enum ไม่มีก็คงไม่มีความแหละ

ไม่งั้นก็ต้องไป override draw เลย low level สุดๆ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 10:22:58 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 2



โพสกระทู้ ( 397 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ผมยังไม่ get นึกภาพไม่ออก พอจะมีตัวอย่างไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 10:39:17 By : sakkapong
 

 

No. 3

Guest


นายจะ override mothod draw จริงๆ เหรอ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 11:29:54 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 4



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


ถ้าทำกับ font คงยากหน่อยนะครับ

แต่ถ้าทำเป็น รูปภาพมาวางใต้ object ยังพอทำได้นะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 11:47:26 By : Chaidhanan
 


 

No. 5

Guest


ก็ยังยากอยู่นะท่าน

ท่านจะวัดขนาด string ออกเป็น pixel อย่างไร

คงต้องแปลง string เป็น bitmap แล้ววัดจาก width มาเหรอ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 11:50:18 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 6



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


ผมจำได้ว่ามันมี คำสั่งเช็คไซด์ กว้าง สุง ของอักษร อยู่นะครับ ผมจำไม่ได้ไม่ได้เขียนนานแล้ว ก็ลอง searh หาดูนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 11:54:32 By : Chaidhanan
 


 

No. 7



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


Code (VB.NET)
Public Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    Using _
        graphics As Graphics = Me.CreateGraphics, _
        font As New Font("Microsoft Sans Serif", 14, FontStyle.Bold Or FontStyle.Strikeout)

        Dim text As String = "How big am I?"
        Dim size As SizeF = graphics.MeasureString(text, font)
        MessageBox.Show(size.ToString)
    End Using
End Sub


นา่จะใช้ได้อยู่นะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 11:56:10 By : Chaidhanan
 


 

No. 8

Guest


โห อุตส่าหาโค้ดมาให้ด้วย

https://www.thaicreate.com/php/forum/111073.html

ตอบไว้เมื่อเดือนก่อน เรา php สดไม่เป็นหรอก

ที่เขียน php ได้ เพราะเราเขียนเป้น c# ก่อนแล้วค่อยแปลงเป็น php

ดังนั้นเราเป็นแล้ว ไม่ต้องบอกเราหรอก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 13:30:26 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 9



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


ผมไม่ได้เจาะจงบอกใครครับ ผมเห็นว่าคงเป็นประโยชน์กับ จขกท เท่านั้นแหล่ะครับ

สำหรับคนเก่งแล้วก็ผ่านๆ ไปเถอะครับ มันไม่ได้ประโยชน์อะไรก็อย่ามาสนใจมันเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 13:39:51 By : Chaidhanan
 


 

No. 10

Guest


ถามว่ามันจำเป็นไหมว่าต้องมีเส้นใต้สองขีด

ถ้าจำเป็นขนาดที่เลี่ยงไม่ได้ก็ต้อง override method onpaint

ให้ลากเส้นเพิ่มอีกเส้นไปเลย ซึ่งงานนี้มันหมือนขี่ช้างจับตั๊กแตน

เอาเวลาไปทำอย่างอื่นดีกว่ามั้ง

แล้วเราไม่แนะนำให้ทำขีดเองเลย อุตส่าห์เลี่ยงๆ ตอบว่ายากแล้วนะ

ถ้าเป็น power point จะไม่ว่าเลย จะทำเส้นเป็น bitmap

นอกจาก layout และโค้ดออกประหลาดๆ แล้ว ยังไม่รู้เลยว่าทำไป

เพื่อเส้นใต้ 2 เส้นเนี่ยนะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 16:50:37 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 11



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


คนเป็นแล้วก็คงไม่อยากจะทำหรอกครับ ผมก็ไม่ทำ แต่สิ่งที่ได้มันไมใช่ได้แค่ เส้นสองเส้น
แต่มันได้ความรู้ที่จะนำไปดัดแปลงทำอย่างอื่นได้อีก รู้จักคำสั่งเพิ่มขึ้น ที่ผมตอบเพราะตรงนี้
สำหรับเขาพอได้ความรู้แล้วจะทำต่อหรือไม่ทำก็เป็นส่วนที่เขาจะเลือก แต่เขาก็ได้ความรู้ไปแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 17:00:55 By : Chaidhanan
 


 

No. 12



โพสกระทู้ ( 397 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

อายครูไม่รู้วิชา อายภรรยาไม่มีบุตร
ผมเพิ่งหัดเขียน vb มา 3 อาทิตย์ นะครับ
คุณ guest อย่าลืมสิครับ คุณก็ไม่ได้เป็นมาแต่กำเนิด ตอนที่คุณหัดเขียนใหม่ๆ คุณก็เป็นเหมือนผมนี่แหล่ะ ถามนั่น นี่ โน่น หรือไม่จริง
คุณChaidhanan ผมขอขอบคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 17:23:14 By : sakkapong
 


 

No. 13



โพสกระทู้ ( 154 )
บทความ ( 0 )



สถานะออฟไลน์


Code จะประหลาดหรือไม่ประหลาด ก็อยู่ที่ความคิดของเราทั้งนั้นแหละครับ สิ่งที่ยังไม่รู้ก็จะคิดว่ามันประหลาด พอรู้แล้วมันช่างธรรมดามาก
ส่วนใหญ่ถ้าเขียนพวก App ปกติก็จะไม่ต้องเข้ามายุ่งกับ GDI+ สังเกตให้เห็นว่าถ้าอยากจะเป็นผู้สร้าง ก็ต้องมีความรู้มากเกี่ยวกับเรื่อง GDI+
แล้วมันสำคัญครับ มันทำให้ผมสามารถสร้าง Control ขึ้นใช้งานได้เองโดยไม่ต้องพึ่ง 3rd party และได้ความรู้อย่างมหาศาล

ส่วนด้านล่างเป็น Source ตัวอย่าง จขกท เอาไปใช้ได้เลย ไม่เข้าใจตรงไหน pm มาถามได้ครับ

Code (C#)
using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public class TextBoxUnderline : TextBox
    {
        const int WM_PAINT = 0x00F;
        
        public TextBoxUnderline()
            : base() { }

        protected override void WndProc(ref Message m)
        {
            base.WndProc(ref m);

            if (m.Msg == WM_PAINT)
            {
                using (Graphics g = base.CreateGraphics())
                {
                    DrawDoubleLine(g);
                }
            }
        }

        protected override void OnMouseDown(MouseEventArgs e)
        {
            base.OnMouseDown(e);
            this.Invalidate();
        }

        protected override void OnMouseUp(MouseEventArgs e)
        {
            base.OnMouseUp(e);
            this.Invalidate();
        }

        protected override void OnKeyDown(KeyEventArgs e)
        {
            base.OnKeyDown(e);
            this.Invalidate();
        }

        private void DrawDoubleLine(Graphics g)
        {
            Pen pen = new Pen(this.ForeColor);
            Size size = TextRenderer.MeasureText(g, this.Text, this.Font, new Size(int.MaxValue, int.MaxValue), TextFormatFlags.NoPadding);

            g.DrawLine(pen, 0, size.Height, size.Width, size.Height);
            g.DrawLine(pen, 0, size.Height + 2f, size.Width, size.Height + 2f);
        }
    }
}


Code (VB.NET)
Imports System.Drawing
Imports System.Windows.Forms

Namespace WindowsFormsApplication1
	Public Class TextBoxUnderline
		Inherits TextBox

		Const WM_PAINT As Integer = &Hf

		Public Sub New()
			MyBase.New()
		End Sub

		Protected Overrides Sub WndProc(ByRef m As Message)
			MyBase.WndProc(m)

			If m.Msg = WM_PAINT Then
				Using g As Graphics = MyBase.CreateGraphics()
					DrawDoubleLine(g)
				End Using
			End If
		End Sub

		Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
			MyBase.OnMouseDown(e)
			Me.Invalidate()
		End Sub

		Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
			MyBase.OnMouseUp(e)
			Me.Invalidate()
		End Sub

		Protected Overrides Sub OnKeyDown(e As KeyEventArgs)
			MyBase.OnKeyDown(e)
			Me.Invalidate()
		End Sub

		Private Sub DrawDoubleLine(g As Graphics)
			Dim pen As New Pen(Me.ForeColor)
			Dim size As Size = TextRenderer.MeasureText(g, Me.Text, Me.Font, New Size(Integer.MaxValue, Integer.MaxValue), TextFormatFlags.NoPadding)

			g.DrawLine(pen, 0, size.Height, size.Width, size.Height)
			g.DrawLine(pen, 0, size.Height + 2F, size.Width, size.Height + 2F)
		End Sub
	End Class
End Namespace

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 22:25:33 By : gunnermontana
 


 

No. 14

Guest


ขอบคุณ Gunner Montana มากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-28 08:06:02 By : sakkapong
 


 

No. 15

Guest


ตอบความคิดเห็นที่ : 13 เขียนโดย : gunnermontana เมื่อวันที่ 2014-10-27 22:25:33
รายละเอียดของการตอบ ::
เราว่านายก็คิดว่าประหลาดเหมือนกันแหละ

ไม่งั้นนายไม่มาโม textbox หรอก

เราเองก็แนะนำว่าควรโม control แทน

โดยเลี่ยงไม่บอกว่าตีเส้นเองได้ ยังอุตส่าห์เอาโค้ดมาอีก

ทั้งๆ ที่เกริ่นๆ ไว้แล้วว่ามันมีวิธีประหลาดนั้นอยู่


ตอบความคิดเห็นที่ : 12 เขียนโดย : sakkapong เมื่อวันที่ 2014-10-27 17:23:14
รายละเอียดของการตอบ ::
ตอนเราหัด .net ด้วยการฝึกสร้าง control น่ะ

กระทู้แรกที่เราตั้งเมื่อ 5 ปีที่แล้ว ก็ยังไม่มีใครตอบเลย

จนตอนนี้เราทำเองได้แล้ว

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-28 08:22:53 By : ห้ามตอบเกินวันละ 2 กระทู้
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การขีดเส้นใต้ 2 เส้นให้กับ textbox.text หรือ label.text vb.net
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่