Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: Load dữ liệu từ 1 file data có sẵn vào ContextMenuStrip?

  1. #1
    Ngày gia nhập
    07 2016
    Bài viết
    4

    Mặc định Load dữ liệu từ 1 file data có sẵn vào ContextMenuStrip?

    Mình muốn load dữ liệu từ 1 file data có sẵn vào ContextMenuStrip (không phải từ database) có được không?
    VD: File data có ghi
    Code:
    [item1]
    name="Visual Studio"
    path="C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"
    icon=none
    
    [item2]
    name="Chrome"
    path="C:\Program Files\Google\Chrome\Application\chrome.exe"
    icon=none
    Làm sao để load nó vào menu được?

  2. #2
    Ngày gia nhập
    09 2016
    Bài viết
    1,006

    Chưa bàn tới dữ liệu lấy từ data file (nạp động), khi dùng deSigner (nạp tĩnh) thì bạn viết nó như thế nào ?
    Hy vọng bạn đã làm được, vậy hãy trình bày cách làm đó trước.

    Tham khảo thêm : code tay trên Winform

    Phọt mô xa 2017

  3. #3
    Ngày gia nhập
    07 2016
    Bài viết
    4

    Code bằng tay á? Nếu viết bằng tay mà không dùng design thì như thế này
    Code:
    public FormTest()
            {
                InitializeComponent();
                this.Load += new EventHandler(cmsMenu_Load);
            }
     
            private void cmsMenu_Load(object sender, EventArgs e)
            {
                ContextMenuStrip cms = new ContextMenuStrip();
                cms.Items.Add("Visual Studio", Image.FromFile(@"D:\Images\VisualStudio.jpg"), new EventHandler(StartVS_click));
                cms.Items.Add("Chrome", Image.FromFile(@"D:\Images\Chrome.jpg"), new EventHandler(StartChr_click));
                this.ContextMenuStrip = cms;
     
            }
     
            private void StartVS_click(object sender, EventArgs e)
            {
                Process.Start(@"C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe");
            }
     
            private void StartChr_click(object sender, EventArgs e)
            {
                Process.Start(@"C:\Program Files\Google\Chrome\Application\chrome.exe");
            }

  4. #4
    Ngày gia nhập
    09 2016
    Bài viết
    1,006

    File data trên có cấu trúc như ini file (dùng nhiều trong pascal), dùng api để đọc trong c#
    Visual C# Code:
    1.         [DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
    2.         private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
    3.        
    4.         [DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
    5.         private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
    6.         //...

    Nếu cần có thể dùng định dạng xml file để đọc trực tiếp bằng DataTable/ DataSet

    Thay các chuỗi tĩnh trong reply #2 bằng dữ liệu lấy từ ini / xml là xong

    Phọt mô xa 2017

  5. #5
    Ngày gia nhập
    07 2016
    Bài viết
    4

    Mình hiểu rồi. Thì ra nó giống file ini, mình hay thao trên txt nên không để ý. Cảm ơn bạn rất nhiều!

  6. #6
    Ngày gia nhập
    09 2016
    Bài viết
    1,006

    Mặc định Load dữ liệu từ 1 file data có sẵn vào ContextMenuStrip?

    Không cần cám ơn.

    Nếu đã hiểu mà chưa làm được thì bạn có thể đính kèm (attach) project lên đây, tôi có thể hiệu chỉnh (bổ xung) nó.
    Cái bạn làm cũng có ích cho nhiều người khác nữa.

    Phọt mô xa 2017

  7. #7
    Ngày gia nhập
    07 2016
    Bài viết
    4

    Mình đã làm được nhưng phần EVENT thì làm sao mà load được đường dẫn của file vậy? Nó chỉ load được đúng 1 EVENT thôi.

  8. #8
    Ngày gia nhập
    09 2016
    Bài viết
    1,006

    Xem yêu cầu ở reply #6
    Hoặc xem thêm :
    https://msdn.microsoft.com/en-us/library/system.diagnostics.process.start(v=vs.110).aspx

    Phọt mô xa 2017

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn