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 ?

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

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)
{
	...

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.

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

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

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

trong form

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

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

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

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





1 Like

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

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();
}
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?