ไปที่เนื้อหา


รูปภาพ

ขอถามเรื่อง C# หน่อยคับ ช่วยหน่อยคับ


  • กรุณาลงชื่อเข้าใช้เพื่อตอบกระทู้
มี 12 โพสต์ตอบกลับกระทู้นี้

#1 cfx_9850gb

cfx_9850gb

    ทหารศึกดาบแยก

  • Members
  • 15 โพสต์

โพสต์เมื่อ 08 May 2008 - 05:53:36 PM

IPB Image

CODE

private void Button1_Click(object sender, System.EventArgs e)
{
        for (int i = 0; i < this.Controls.Count; i++)<-------------------------วนลูปหาtextBox
    {
        TextBox theText = (TextBox)Controls[i];<----------textBox ตัวที่ i
        if(theText.Focus==true)<-------------ตรงนี้ผมจะเช็คได้อย่างไรว่าtextBoxกำลังโฟกัสอยู่ หรือถ้าtextBox กำลังถูกคลิกอยู่แล้วให้ค่าเป็นจิงหรือเท็จออกมาหรือมีอะไรจะแนะนำคับ
        {
            theText.Size = new Size(62 * (textshow1.Text()), 31);
                   theText = Textshow.Text;
        }
        else
        {
            MessageBox.Show("textBox ไม่มีโฟกัสอยู่ หรือถ้า textBoxไม่ถูกคลิก ","ตรวจสอบ");
        }
    }
}


ผมจะเช็คได้อย่างไรว่าtextBoxกำลังโฟกัสอยู่ หรือถ้าtextBox กำลังถูกคลิกอยู่แล้วให้ค่าเป็นจิงหรือเท็จออกมาหรือมีอะไรจะแนะนำคับ


#2 SezunA

SezunA

    เฝิงจี้

  • Special Member
  • 100 โพสต์

โพสต์เมื่อ 09 May 2008 - 09:57:20 AM

ผมว่าถ้าเช็คโฟกัสของ textbox ยังไงก็เป็นเท็จอะ
เพราะว่าพอมากดที่ button1 ปุ๊บโฟกัสก็จะย้ายมาอยู่ที่ button1 แล้ว มันต้องเป็นแบบนั้นช่ายมะคับ

#3 CodeGeaR

CodeGeaR

    Exclusive Member

  • Exclusive Programmer
  • 10218 โพสต์

โพสต์เมื่อ 09 May 2008 - 11:01:25 AM

ประกาศตัวแปร Global มา 1 ตัว
เพื่อรับค่า Textbox ที่จะทำงาน
แล้วไปดัก Event onEnter << คือเหตุการณ์เมื่อเคอร์เซอร์มาโฟกัสใน Textbox
เราก็ให้ค่ากับ ตัวแปร Global Textbox

ตัวอย่าง
เช่น (เป็นแต่เดลไฟ)

var // Global
gbTextbox : TEdit;

// กำหนด Event onEnter ให้กับทุก Textbox
CODE
procedure TForm1.onEnter (sender : Tobject);
begin
     // Textbox ตัวไหน โฟกัส ก็ได้ค่า ล่าสุดไป
     gbTextbox := TEdit(Sender);  
end;

procedure TForm1.bitbtn1Click(Sender : TObject);
begin
      If gbTextbox <> NIL then
        gbTextbox.text := ' ใส่อะไรก็ใส่ไป ';
end;


จบข่าว


#4 cfx_9850gb

cfx_9850gb

    ทหารศึกดาบแยก

  • Members
  • 15 โพสต์

โพสต์เมื่อ 09 May 2008 - 07:43:21 PM

QUOTE(CodeGeaR @ May 9 2008, 11:01 AM) ดูโพสต์

ประกาศตัวแปร Global มา 1 ตัว
เพื่อรับค่า Textbox ที่จะทำงาน
แล้วไปดัก Event onEnter << คือเหตุการณ์เมื่อเคอร์เซอร์มาโฟกัสใน Textbox
เราก็ให้ค่ากับ ตัวแปร Global Textbox

ตัวอย่าง
เช่น (เป็นแต่เดลไฟ)

var // Global
gbTextbox : TEdit;

// กำหนด Event onEnter ให้กับทุก Textbox
CODE
procedure TForm1.onEnter (sender : Tobject);
begin
     // Textbox ตัวไหน โฟกัส ก็ได้ค่า ล่าสุดไป
     gbTextbox := TEdit(Sender);  
end;

procedure TForm1.bitbtn1Click(Sender : TObject);
begin
      If gbTextbox <> NIL then
        gbTextbox.text := ' ใส่อะไรก็ใส่ไป ';
end;


จบข่าว


ขอบคุณคับ อันนี้แหล่ะคับ แงๆๆ แล้วผมจะแปลงเป็น C# ได้อย่างไรหว่า ที่กำหนด Event onEnter ให้กับทุก Textbox อ่าคับ เด๋วลอง serach หาดูคับ แต่ถ้าใครรู้ แปลงโค้ดข้างบน เป้น C# ให้ผมหน่อยน้า คับ


onion7.gif

#5 X CroSs

X CroSs

    Truebot Co-Developer

  • Root Administrator
  • 102427 โพสต์
  • Gender:Male

โพสต์เมื่อ 10 May 2008 - 04:03:34 AM

นอกเรื่องนิด ทำไมทุกภาษาไม่ใช้ // comment ให้เหมือนกันหมดเลยฟะรู้ๆอยู่ว่ามันเป็น โคตรๆ เครื่องหมายสากล
เจอ VB งี้ ต้องมานั่งใส่ ' เองทีละบรรทัด เซ็งจิต จะ comment ยาวๆ ที ถึงจะมีปุ่มให้กด แต่มันก้อไม่งามแบบ //
บางภาษาใช้ # ก็เหมือนจะดูดี แต่มันก้อสับสนกับสัญลักษณ์เฉพาะเช่น #include ของบางภาษาอีกแหล่ะ

เมื่อไหร่ทุกภาษาจะรวมกันเป็นภาษาเดียวคือมี Compiler ตัวเดียว ใช้ IDE ตัวเดียวกัน แต่ปรับหน้าตา
และ option ได้ตามใจนึกใครถนัด .net,delphi,eclipse อะไรก้อ config ให้เหมือนตัวเดิมๆที่ใช้
แต่ละหน้าเขียนภาษาอะไรก็ได้แต่ต้องระบุไว้บรรทัดแรกเช่น
#Base Lang C#
#Base Lang Delphi
และ compile ออกมาเป็นอะไรก็ได้ มีตัว emu ให้เสร็จสรรพ ไม่ว่าจะเป็น win exe, mac, linux, java class, etc ...
แล้วตั้งชื่อเท่ๆ อย่างภาษา Immotal งี้ โอ้วววววว

ไม่มีอะไรหรอก เพ้อๆ แล้วจากไป หุหุ

ts.gif

manutd18wm.png


#6 SezunA

SezunA

    เฝิงจี้

  • Special Member
  • 100 โพสต์

โพสต์เมื่อ 10 May 2008 - 08:21:49 AM

-*-ลำบากเหมือนกันตรง comment ใน vb เวลาที่มีหลายบรรทัดน่าจะแบบ /*....*/ อารายงี๊ไปเลยหรือแบบ /^_^/ หรือ (- -") อ่าวเฮ้ยม่ายช่ายละ5555

ปล.แล้วรู้สึกไหมว่าบอร์ดอืด

#7 cfx_9850gb

cfx_9850gb

    ทหารศึกดาบแยก

  • Members
  • 15 โพสต์

โพสต์เมื่อ 10 May 2008 - 12:01:22 PM

QUOTE(SezunA @ May 10 2008, 08:21 AM) ดูโพสต์

-*-ลำบากเหมือนกันตรง comment ใน vb เวลาที่มีหลายบรรทัดน่าจะแบบ /*....*/ อารายงี๊ไปเลยหรือแบบ /^_^/ หรือ (- -") อ่าวเฮ้ยม่ายช่ายละ5555

ปล.แล้วรู้สึกไหมว่าบอร์ดอืด


แป่ว /^_^/ ถ้ามีสงสัยจะฮาน่าดู หุหุ ยังหาไม่เจอเลยคับ โค้ด C# ที่กำหนด Event onEnter ให้กับทุก Textbox อ่าคับ
serach ต่อไป


ปล คับรู้สึกว่าบอร์ดอืด

#8 X CroSs

X CroSs

    Truebot Co-Developer

  • Root Administrator
  • 102427 โพสต์
  • Gender:Male

โพสต์เมื่อ 11 May 2008 - 05:54:59 AM

mysql มันเน่าไง แม่มแชร์กันเยอะ ... เอาแต๊บ host linux ที่ บริษัทได้ก่อนนะ ค่อยย้าย :D

ts.gif

manutd18wm.png


#9 cfx_9850gb

cfx_9850gb

    ทหารศึกดาบแยก

  • Members
  • 15 โพสต์

โพสต์เมื่อ 15 May 2008 - 08:10:54 PM

QUOTE(cfx_9850gb @ May 9 2008, 07:43 PM) ดูโพสต์

QUOTE(CodeGeaR @ May 9 2008, 11:01 AM) ดูโพสต์

ประกาศตัวแปร Global มา 1 ตัว
เพื่อรับค่า Textbox ที่จะทำงาน
แล้วไปดัก Event onEnter << คือเหตุการณ์เมื่อเคอร์เซอร์มาโฟกัสใน Textbox
เราก็ให้ค่ากับ ตัวแปร Global Textbox

ตัวอย่าง
เช่น (เป็นแต่เดลไฟ)

var // Global
gbTextbox : TEdit;

// กำหนด Event onEnter ให้กับทุก Textbox
CODE
procedure TForm1.onEnter (sender : Tobject);
begin
     // Textbox ตัวไหน โฟกัส ก็ได้ค่า ล่าสุดไป
     gbTextbox := TEdit(Sender);  
end;

procedure TForm1.bitbtn1Click(Sender : TObject);
begin
      If gbTextbox <> NIL then
        gbTextbox.text := ' ใส่อะไรก็ใส่ไป ';
end;


จบข่าว


ขอบคุณคับ อันนี้แหล่ะคับ แงๆๆ แล้วผมจะแปลงเป็น C# ได้อย่างไรหว่า ที่กำหนด Event onEnter ให้กับทุก Textbox อ่าคับ เด๋วลอง serach หาดูคับ แต่ถ้าใครรู้ แปลงโค้ดข้างบน เป้น C# ให้ผมหน่อยน้า คับ


onion7.gif


ขอบคุณคับ คุณ CodeGear ทำได้แล้วคับ เช็คโฟกัสได้แล้วเพิ่มค่าใน textBox แต่ผมไม่รู้ว่า TextBox ที่โฟกัสอยู่ เป็น
textBox ตัวที่เท่าไรอ่าคับ คือผมจะเอาตำแหน่งของ textBox นั้น ไปใช้งานต่อไปอ่าคับ ขอคำแนะนำทีคับ



onion7.gif

#10 X CroSs

X CroSs

    Truebot Co-Developer

  • Root Administrator
  • 102427 โพสต์
  • Gender:Male

โพสต์เมื่อ 16 May 2008 - 12:18:40 PM

textbox แต่ละตัวตั้งชื่อยังไงครับ ใช้แยกแต่ละอันเลย หรือเป็น control array ?

ts.gif

manutd18wm.png


#11 cfx_9850gb

cfx_9850gb

    ทหารศึกดาบแยก

  • Members
  • 15 โพสต์

โพสต์เมื่อ 16 May 2008 - 01:24:40 PM

QUOTE(X CroSs @ May 16 2008, 12:18 PM) ดูโพสต์

textbox แต่ละตัวตั้งชื่อยังไงครับ ใช้แยกแต่ละอันเลย หรือเป็น control array ?

คือผมลาก textBox มาวางบน Form อ่าคับ น่าจะแยกแต่ล่ะอัน ตัวแรกก็ชื่อ textBox1
ตัวที่สองชื่อ textBox2 แล้วก็ตัวต่อๆไปตามลำดับอ่าคับ ตำแหน่งมันจะหายังไงหว่า


monkey-16.gif onion7.gif onion21.gif onion12.gif

#12 CodeGeaR

CodeGeaR

    Exclusive Member

  • Exclusive Programmer
  • 10218 โพสต์

โพสต์เมื่อ 17 May 2008 - 11:15:36 AM

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

textbox ในเดลไฟ มันคือ TEdit
ส่วนใหญ่จะเอาชื่อคอมโพเนนท์ มาตั้งต้นก่อน
เช่น
edPeriod1
edPeriod2
edPeriod3

ส่วนในเรื่องของคำถาม
ไม่รู้จุดประสงค์ การนำไปใช้งาน เด่วตอบผิด - -*

ถ้าใช้ ComponentCount ได้ก็จบไป
หรือ กำหนดเลขให้คอมโพเนนท์ แต่ละตัวได้ก็สามารถนำไปประโยชน์ได้เช่นกัน

ในเดลไฟ มี property ชื่อ TAG << สามารถกำหนด เลขได้ เพื่อนำไปใช้ประโยชน์ในเรื่องการแบ่งกลุ่ม

* แต่!! ตัวแปร (instance) ที่อ้างถึง Textbox ล่าสุด
สามารถนำไปใช้งานได้เล่น แทน textbox ตัวนั้นๆ ได้เลย นะครับ *


#13 cfx_9850gb

cfx_9850gb

    ทหารศึกดาบแยก

  • Members
  • 15 โพสต์

โพสต์เมื่อ 17 May 2008 - 10:30:56 PM

QUOTE(CodeGeaR @ May 17 2008, 11:15 AM) ดูโพสต์

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

textbox ในเดลไฟ มันคือ TEdit
ส่วนใหญ่จะเอาชื่อคอมโพเนนท์ มาตั้งต้นก่อน
เช่น
edPeriod1
edPeriod2
edPeriod3

ส่วนในเรื่องของคำถาม
ไม่รู้จุดประสงค์ การนำไปใช้งาน เด่วตอบผิด - -*

ถ้าใช้ ComponentCount ได้ก็จบไป
หรือ กำหนดเลขให้คอมโพเนนท์ แต่ละตัวได้ก็สามารถนำไปประโยชน์ได้เช่นกัน

ในเดลไฟ มี property ชื่อ TAG << สามารถกำหนด เลขได้ เพื่อนำไปใช้ประโยชน์ในเรื่องการแบ่งกลุ่ม

* แต่!! ตัวแปร (instance) ที่อ้างถึง Textbox ล่าสุด
สามารถนำไปใช้งานได้เล่น แทน textbox ตัวนั้นๆ ได้เลย นะครับ *


ขอบคุณคับ ก็กะว่าจะใช้ TabIndex กับ Tag เรื่อง property ก็สำคัญน่ะเนี๊ยะ ไม่ได้สังเกตุอ่าคับ





2 สมาชิกกำลังอ่านกระทู้นี้

0 สมาชิก, 2 ผู้เยี่ยมชม, 0 ผู้ใช้งานที่ซ่อนตัว