ÇözümPark'a hoş geldiniz. Oturum Aç | Üye Ol
 
Ana Sayfa Makale Video Forum Resimler Dosyalar Etkinlik Hizmetlerimiz Biz Kimiz

uygulamadaki formları listelemek

Son Mesajınız 01-15-2018, 13:25 erdil öztürk tarafından gönderildi. 5 yanıt.
Mesajları Sırala: Önceki Sonraki
  •  01-12-2018, 9:19 524655

    uygulamadaki formları listelemek

    Merhabalar;

    C# ile geliştirdiğim programda, solution içerisinde  bulunan modülere ait klasörler var. Bu klasörler içerisinde bulunan Windows formlarını datagrid ile listelemek istiyorum. Konuyla alakalı bir çözüm bulamadım. bu konuda yardımcı olabilirmisiniz?

     

    Solution önizlemesine aşağıdaki linkten ulaşabilirsiniz.

     https://yadi.sk/i/K1nD_U773RPE6F


    Software & Database Support ENGINEER
    C # / . NET Developer
  •  01-12-2018, 10:23 524661 Cevap 524655

    Cevap : uygulamadaki formları listelemek

    Merhabalar;

    Aşağıdaki gibi girid içinde Form isimlerini ve Hangi klasörde olduklarını listeleyebilirsizin, Sadece istediğiniz klasör için süzme yapabilirsiniz.

    Projeyi indirmek için Link; https://drive.google.com/file/d/1jce5RIkr5rluDuKEBama84-4EFmYvRnv/view?usp=sharing

    (Destek için Serdal DİNÇER'e teşekkürler.)

     

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Reflection;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace FormNames
    {
    public partial class Form1 : Form
    {
    class formAttributes
    {
    public string Ad { get; set; }
    public string Klasor { get; set; }
    public string Baslik { get; set; }
    }

    public Form1()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    GetFormNames();
    }

    private void GetFormNames()
    {
    List<formAttributes> formNames = new List<formAttributes>();
    formNames.Clear();
    foreach (Assembly asm in AppDomain.CurrentDomain.GetAssemblies())
    {
    foreach (Type t in asm.GetTypes())
    {
    try
    {
    if (t.BaseType == typeof(Form) & t.Namespace.IndexOf(Application.ProductName) > -1 & t.BaseType.Name == "Form")
    {
    var cTor = t.GetConstructor(Type.EmptyTypes);
    if (cTor != null)
    {
    var form = (Form)cTor.Invoke(new object[] { });

    formNames.Add(new formAttributes() { Ad = form.Name, Baslik = form.Text, Klasor = t.FullName.Replace(form.Name, "").Replace(Application.ProductName, "").Replace(".", "") });
    }
    }
    }
    catch { }
    }

    }
    dataGridView1.DataSource = formNames;
    }
    }
    }


    Endüstri 4.0 ile Dijital Dönüşüm Başlıyor

    Technical Director
    Solutera Teknoloji ve Bilişim Çözümleri
  •  01-12-2018, 15:25 524675 Cevap 524661

    Cevap : uygulamadaki formları listelemek

    Syn Ali Uysal;

    Cevabınız için Teşekkür ederim.

    listeleme esnasınıda bekleme süresi performans açısından biraz zayıf olduğunu gözlemledim bu listeleme işlemini daha kısa sürelerde yapmak mümkünmü acaba?


    Software & Database Support ENGINEER
    C # / . NET Developer
  •  01-12-2018, 17:30 524684 Cevap 524675

    Cevap : uygulamadaki formları listelemek

    Merhabalar;

    Nasıl yapılabileceği konusunda yardımcı oldum, hızlandırmak için bir çok farklı yol mevcut fakat biraz çalışılması gerekiyor uygun bir vakitte göz gezdirir size bilgi veririm. 


    Endüstri 4.0 ile Dijital Dönüşüm Başlıyor

    Technical Director
    Solutera Teknoloji ve Bilişim Çözümleri
  •  01-12-2018, 20:35 524690 Cevap 524675

    Cevap : uygulamadaki formları listelemek

    erdil öztürk:

    Syn Ali Uysal;

    Cevabınız için Teşekkür ederim.

    listeleme esnasınıda bekleme süresi performans açısından biraz zayıf olduğunu gözlemledim bu listeleme işlemini daha kısa sürelerde yapmak mümkünmü acaba?

    db ye yazıp ordan da okuyabilirsiniz .


    Birol AYDUĞAN
    Software&Database Support ENGINEER
    C # / . NET Developer
    Trainer / Instructor / Developer
    LSU / LUU / Logo Çözüm Ortağı
    admin@artibilisim.com
    www.artibilisim.com
    www.logomutabakat.net
  •  01-15-2018, 13:25 524776 Cevap 524690

    Cevap : uygulamadaki formları listelemek

    syn Birol AYDUGAN;

    Cevabınız için teşekkür ederim.

    Evet bende o şekilde yaptım.

    Şuan için en mantıklı yol bu sanırım...


    Software & Database Support ENGINEER
    C # / . NET Developer
RSS haberlerini XML olarak görüntüle