 |
|
การขีดเส้นใต้ 2 เส้นให้กับ textbox.text หรือ label.text vb.net |
|
 |
|
|
 |
 |
|
ถ้าใน font style enum ไม่มีก็คงไม่มีความแหละ
ไม่งั้นก็ต้องไป override draw เลย low level สุดๆ
|
 |
 |
 |
 |
Date :
2014-10-27 10:22:58 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมยังไม่ get นึกภาพไม่ออก พอจะมีตัวอย่างไหมครับ
|
 |
 |
 |
 |
Date :
2014-10-27 10:39:17 |
By :
sakkapong |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
นายจะ override mothod draw จริงๆ เหรอ
|
 |
 |
 |
 |
Date :
2014-10-27 11:29:54 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าทำกับ font คงยากหน่อยนะครับ
แต่ถ้าทำเป็น รูปภาพมาวางใต้ object ยังพอทำได้นะครับ
|
 |
 |
 |
 |
Date :
2014-10-27 11:47:26 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ก็ยังยากอยู่นะท่าน
ท่านจะวัดขนาด string ออกเป็น pixel อย่างไร
คงต้องแปลง string เป็น bitmap แล้ววัดจาก width มาเหรอ
|
 |
 |
 |
 |
Date :
2014-10-27 11:50:18 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมจำได้ว่ามันมี คำสั่งเช็คไซด์ กว้าง สุง ของอักษร อยู่นะครับ ผมจำไม่ได้ไม่ได้เขียนนานแล้ว ก็ลอง searh หาดูนะครับ
|
 |
 |
 |
 |
Date :
2014-10-27 11:54:32 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
โห อุตส่าหาโค้ดมาให้ด้วย
https://www.thaicreate.com/php/forum/111073.html
ตอบไว้เมื่อเดือนก่อน เรา php สดไม่เป็นหรอก
ที่เขียน php ได้ เพราะเราเขียนเป้น c# ก่อนแล้วค่อยแปลงเป็น php
ดังนั้นเราเป็นแล้ว ไม่ต้องบอกเราหรอก
|
 |
 |
 |
 |
Date :
2014-10-27 13:30:26 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมไม่ได้เจาะจงบอกใครครับ ผมเห็นว่าคงเป็นประโยชน์กับ จขกท เท่านั้นแหล่ะครับ
สำหรับคนเก่งแล้วก็ผ่านๆ ไปเถอะครับ มันไม่ได้ประโยชน์อะไรก็อย่ามาสนใจมันเลยครับ
|
 |
 |
 |
 |
Date :
2014-10-27 13:39:51 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถามว่ามันจำเป็นไหมว่าต้องมีเส้นใต้สองขีด
ถ้าจำเป็นขนาดที่เลี่ยงไม่ได้ก็ต้อง override method onpaint
ให้ลากเส้นเพิ่มอีกเส้นไปเลย ซึ่งงานนี้มันหมือนขี่ช้างจับตั๊กแตน
เอาเวลาไปทำอย่างอื่นดีกว่ามั้ง
แล้วเราไม่แนะนำให้ทำขีดเองเลย อุตส่าห์เลี่ยงๆ ตอบว่ายากแล้วนะ
ถ้าเป็น power point จะไม่ว่าเลย จะทำเส้นเป็น bitmap
นอกจาก layout และโค้ดออกประหลาดๆ แล้ว ยังไม่รู้เลยว่าทำไป
เพื่อเส้นใต้ 2 เส้นเนี่ยนะ
|
 |
 |
 |
 |
Date :
2014-10-27 16:50:37 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คนเป็นแล้วก็คงไม่อยากจะทำหรอกครับ ผมก็ไม่ทำ แต่สิ่งที่ได้มันไมใช่ได้แค่ เส้นสองเส้น
แต่มันได้ความรู้ที่จะนำไปดัดแปลงทำอย่างอื่นได้อีก รู้จักคำสั่งเพิ่มขึ้น ที่ผมตอบเพราะตรงนี้
สำหรับเขาพอได้ความรู้แล้วจะทำต่อหรือไม่ทำก็เป็นส่วนที่เขาจะเลือก แต่เขาก็ได้ความรู้ไปแล้ว
|
 |
 |
 |
 |
Date :
2014-10-27 17:00:55 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อายครูไม่รู้วิชา อายภรรยาไม่มีบุตร
ผมเพิ่งหัดเขียน vb มา 3 อาทิตย์ นะครับ
คุณ guest อย่าลืมสิครับ คุณก็ไม่ได้เป็นมาแต่กำเนิด ตอนที่คุณหัดเขียนใหม่ๆ คุณก็เป็นเหมือนผมนี่แหล่ะ ถามนั่น นี่ โน่น หรือไม่จริง
คุณChaidhanan ผมขอขอบคุณมากครับ
|
 |
 |
 |
 |
Date :
2014-10-27 17:23:14 |
By :
sakkapong |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณ Gunner Montana มากครับ
|
 |
 |
 |
 |
Date :
2014-10-28 08:06:02 |
By :
sakkapong |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|