01/10/2018, 01:14

Hỏi về Label trong lập trình C# trên Visual Studio

cho mình hỏi làm sao để gán ttbmasanpham_TextChanged cho biến mahang vậy,giúp với

Phan Bá Hải viết 03:15 ngày 01/10/2018

Ý bạn là lấy mã sản phẩm từ label?

null viết 03:15 ngày 01/10/2018

Chắc là sai kiểu dữ liệu.

int mahang = Convert.ToInt32( ttbmasanpham_TextChanged );

hoặc

string mahang = ttbmasanpham_TextChanged;
Nhox Namby viết 03:17 ngày 01/10/2018

ìm, lấy mã san phẩm từ label gán cho biến masanpham

Nhox Namby viết 03:29 ngày 01/10/2018

để chút nữa mình thử xem thế nào…cái đó là convert dữ liệu hã

Phan Bá Hải viết 03:27 ngày 01/10/2018

Cái TextChanged là sự kiện của label. Bạn phải viết code vào trong đó mới được
Nếu chỉ đơn giản là lấy dữ liệu từ label qua biến thì làm như thế này
int mahang = Int32.Parse(ttbgiasanpham.Text);

Nhox Namby viết 03:30 ngày 01/10/2018

ok mình thử xem…

null viết 03:22 ngày 01/10/2018

Nếu ttbmasanpham_TextChanged là sự kiện thì phải được return về kiểu string, dạng như vầy:

private string ttbmasanpham_TextChanged(object sender, EventArgs e)
{
    string msp = ttbmasanpham.Text;
    // xử lý chuỗi msp

    return msp;
}

Trong Visual Studio, khi bị lỗi nó sẽ hiện thông báo trong Error List (Ctrl W, E), bạn xem trong đó có nhiều thông tin về lỗi lẫn cách khắc phục.

Nhox Namby viết 03:22 ngày 01/10/2018

ok cảm ơn bạn nhiều

Văn Dương viết 03:20 ngày 01/10/2018

Cái textchanged là hàm sự kiện thì nó ở dạng void gán lm sao sang int được .
Muốn lấy thì thế này :
Kiểu đại lãn :

[code]
int mahang = int.Parse(lblmahang.Text);

[code]

Kiểu chuẩn :

int mahang =0;
if(int.TryParse(lblmahang, out mahanf)==fasle) // mã hàng nhập không đúng.
Nhox Namby viết 03:19 ngày 01/10/2018

textchanged là

mình mới học mình chưa hiểu lắm textchanged là sự kiện “sự kiện là sao ạ”

Phan Bá Hải viết 03:18 ngày 01/10/2018

Sự kiện là một hàm để bắt một hành động của một đối tượng GUI. VD
private void bttthanhtoan_Click(object sender, EventArgs e) { //code here }
Là hàm thực thi sự kiện click của button bttthanhtoan. Khi bạn click vào button đó thì nó sự thực thi code trong hàm bttthanhtoan_Click

Nhox Namby viết 03:29 ngày 01/10/2018

như vậy đúng ko, chạy ko ra kết quả
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Inhoadin
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void label1_Click(object sender, EventArgs e)
    {

    }

    private void lblmasanpham_Click(object sender, EventArgs e)
    {

    }

    private void ttbmasanpham_TextChanged(object sender, EventArgs e)
    {

    }

  
    private void lbltongtien_Click(object sender, EventArgs e)
    {

    }

    public void ttbsoluong_TextChanged(object sender, EventArgs e)
    {
       
    }

    private void ttbtensanpham_TextChanged(object sender, EventArgs e)
    {
        
    }

    private void ttbnvthanhtoan_TextChanged(object sender, EventArgs e)
    {
        
    }

    public void ttbgiasanpham_TextChanged(object sender, EventArgs e)
    {
       
    }
    private void bttthanhtoan_Click(object sender, EventArgs e)
    {
        int Mahang = Int32.Parse(ttbmasanpham.Text);
        string Tenhang = Convert.ToString(ttbtensanpham.Text);
        int Soluong = Int32.Parse(ttbsoluong.Text);
        string tennhanvien = Convert.ToString(ttbnvthanhtoan.Text);
        double Giatien = double.Parse(ttbgiasanpham.Text);
        int tongtien = Int32.Parse(ttbtongtien.Text);
        //tính tổng tiền cần thanh toán

        tongtien = Soluong * (int)Giatien;
        string chuoi = "" + tongtien;
      

    }


}

}

2…ảnh

3.lỗi

Nhox Namby viết 03:14 ngày 01/10/2018

như vậy đúng ko bạn , chạy ko ra kết quả
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Inhoadin
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void label1_Click(object sender, EventArgs e)
    {

    }

    private void lblmasanpham_Click(object sender, EventArgs e)
    {

    }

    private void ttbmasanpham_TextChanged(object sender, EventArgs e)
    {

    }

  
    private void lbltongtien_Click(object sender, EventArgs e)
    {

    }

    public void ttbsoluong_TextChanged(object sender, EventArgs e)
    {
       
    }

    private void ttbtensanpham_TextChanged(object sender, EventArgs e)
    {
        
    }

    private void ttbnvthanhtoan_TextChanged(object sender, EventArgs e)
    {
        
    }

    public void ttbgiasanpham_TextChanged(object sender, EventArgs e)
    {
       
    }
    private void bttthanhtoan_Click(object sender, EventArgs e)
    {
        int Mahang = Int32.Parse(ttbmasanpham.Text);
        string Tenhang = Convert.ToString(ttbtensanpham.Text);
        int Soluong = Int32.Parse(ttbsoluong.Text);
        string tennhanvien = Convert.ToString(ttbnvthanhtoan.Text);
        double Giatien = double.Parse(ttbgiasanpham.Text);
        int tongtien = Int32.Parse(ttbtongtien.Text);
        //tính tổng tiền cần thanh toán

        tongtien = Soluong * (int)Giatien;
        string chuoi = "" + tongtien;
      

    }


}

}

2…ảnh

3.lỗi

Phan Bá Hải viết 03:30 ngày 01/10/2018

Mình thật sự thắc mắc form này của bạn là thanh toán hay nhập thông tin sản phẩm?

Nhox Namby viết 03:17 ngày 01/10/2018

ý mình là nhập thông tin sản phẩm vào ,khi nhấn thanh toán thì ngay chỗ tổng số tiền sẽ ra kết quả tiền, thế thôi,. mình đang tập làm

Văn Dương viết 03:26 ngày 01/10/2018

Sự kiện là cách để một đối tượng thông báo ra bên ngoài một sự thay đổi, hoặc thông tin bên trong nó. Một hàm xử lý sự kiện tương ứng được gắn với sự kiện sẽ được thực thi ngay khi đối tượng ném ra sự kiện (Event).
Ví dụ TextChanged được ném ra khi text bị thay đổi.
Click được ném ra khi click vào button…
Checked được ném ra khi check hàng xong :))

Nhox Namby viết 03:18 ngày 01/10/2018

bạn xem code mình vừa bình luận đúng ko, ý định của mình là nhập thông tin sản phẩm vào ,khi nhấn thanh toán thì ngay chỗ tổng số tiền sẽ ra kết quả tiền, thế thôi,. mình đang tập làm

Văn Dương viết 03:24 ngày 01/10/2018

Theo những cái mình nói về sự kiện thì cậu suy nghĩ đơn giản hơn thôi. Khi cậu nhấn vào nút thanh toán thì sự kiện Click được nút thanh toán ném ra. Cậu chỉ cần viết trong hàm Click của nút đó. Sẽ đọc các thông tin nhập vào và tính toán.

Nhox Namby viết 03:18 ngày 01/10/2018

ùm mình viết hết trong hàm thanh toán, mà chạy lồi ,cậu xem chỗ nào sai thử

như vậy đúng ko bạn , chạy ko ra kết quả
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Inhoadin
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void label1_Click(object sender, EventArgs e)
    {

    }

    private void lblmasanpham_Click(object sender, EventArgs e)
    {

    }

    private void ttbmasanpham_TextChanged(object sender, EventArgs e)
    {

    }

  
    private void lbltongtien_Click(object sender, EventArgs e)
    {

    }

    public void ttbsoluong_TextChanged(object sender, EventArgs e)
    {
       
    }

    private void ttbtensanpham_TextChanged(object sender, EventArgs e)
    {
        
    }

    private void ttbnvthanhtoan_TextChanged(object sender, EventArgs e)
    {
        
    }

    public void ttbgiasanpham_TextChanged(object sender, EventArgs e)
    {
       
    }
    private void bttthanhtoan_Click(object sender, EventArgs e)
    {
        int Mahang = Int32.Parse(ttbmasanpham.Text);
        string Tenhang = Convert.ToString(ttbtensanpham.Text);
        int Soluong = Int32.Parse(ttbsoluong.Text);
        string tennhanvien = Convert.ToString(ttbnvthanhtoan.Text);
        double Giatien = double.Parse(ttbgiasanpham.Text);
        int tongtien = Int32.Parse(ttbtongtien.Text);
        //tính tổng tiền cần thanh toán

        tongtien = Soluong * (int)Giatien;
        string chuoi = "" + tongtien;
      

    }


}

}

2…ảnh

3.lỗi

Văn Dương viết 03:17 ngày 01/10/2018

Khi xuất hiện lỗi, nếu yếu tiếng anh bạn có thể paste cái lỗi lên google nó sẽ báo bạn sai chỗ nào. Cứ thế sửa thôi.

Lỗi của bạn nó báo chuỗi nhập vào để chuyển thành int không đúng định dạng nên lỗi không thể chuyển được. Bạn phải nhập đúng số nguyên không có phần thập phân, không chứa chữ cái. Và phải dùng một số phương pháp kiểm tra để tránh lỗi. (Kéo lên bài trên dùng cách chuyển dùng int.TryParse mình đã viết).

Bài liên quan
0