01/10/2018, 12:17

Thay đổi đường dẫn khi click vào button khác nhau trong C#

Thay đổi đường dẫn khi click vào button khác nhau trong C#

Mình có một project như sau:

  • Giao diện winform


    Mình muốn sau khi ấn vào một button thì sẽ truyền một đường dẫn đã định sẵn vào user control

  • Ví dụ:
    Button 1: gán link: google.com.vn
    Button 2: gán link: facebook.com
    Button 3 gán link: youtube.com
    Khi click vào button 1 thì đường dẫy sẽ truyền vào google.com.vn thay cho cái duongdancantruyen

Vậy theo các pro phải làm ntn ?

Đạt Phạm viết 14:30 ngày 01/10/2018

? Các pro giúp với:joy:

Trần Hoàn viết 14:28 ngày 01/10/2018

tạo một biến public static string X thuộc class Program (đổi Program thành public static, hoặc tạo một public static class mới cũng được).
Button1: Program.X = @"https://google.com.vn";
Button2, Button3 tương tự

Browser = new ChromiumWebBrowser(Program.X)
{
	...
viết 14:31 ngày 01/10/2018

Theo mình nghĩ sẽ tạo một hàm void xxx(string link)
Sau đó với mỗi sự kiện btn_Click sẽ gọi hàm đó với tham số là đường dẫn cần truyền.

Đạt Phạm viết 14:33 ngày 01/10/2018

Bạn ơi nhưng mà Button ở form chính còn link cần truyền đến là 1 user control

Trần Hoàn viết 14:23 ngày 01/10/2018

Nhưng mà biến static thì truy cập từ đâu cũng vậy, và tồn tại duy nhất trong suốt runtime

Đạt Phạm viết 14:27 ngày 01/10/2018

Program.X = @“https://google.com.vn”;

vậy Program.X = @"https://google.com.vn"; là add vào program.cs hay là form bạn ?

Trần Hoàn viết 14:18 ngày 01/10/2018

trong form

Đạt Phạm viết 14:20 ngày 01/10/2018

Bạn có thể demo cho mình được không ?

https://drive.google.com/file/d/1xz_gM1MDRq_3o_TjBo4B80zdSbz6OaOl/view?usp=sharing

Trần Hoàn viết 14:23 ngày 01/10/2018

Visual Studio máy mình hỏng rồi, mình có thể TeamViewer

Đạt Phạm viết 14:18 ngày 01/10/2018

Dùng notepad code cũng đc mà

Trần Hoàn viết 14:19 ngày 01/10/2018





Đạt Phạm viết 14:18 ngày 01/10/2018

Ok, Cảm ơn bạn đã nhiệt tình chỉ giáo

Quân viết 14:34 ngày 01/10/2018

1 câu trả lời phạm vào nhiều nguyên tắc có thể sinh ra 1 bad code được mark là giải pháp cho vấn đề.
Lí do: tại sao lại phải depend vào biến static ở 1 class khác trong khi có thể truyền dữ liệu vào class => giảm tính reuse, không có tính đóng gói.
Tại sao k đơn giản chỉ là

...
private string url;
public Form2(string url) : base() 
{
    this.url = url;
}

private void Form2_Load(object sender, EventArgs e)
{
    Text = this.url;
    webBrowser1.Navigate(this.url);
    webBrowser1.Update();
}
Bài liên quan
0