• Anasayfa
  • Hakkımızda
  • Site Haritası
  • Giriş Yap
  • Üye Ol
  • Facebook
  • Twitter
  • RSS
Yazılım Dilleri
  • Soru - Cevap
  • Kod
  • EĞİTİM SETLERİ
  • İŞ İLANI
  • KATEGORİLER
  • DUYURU
  • HABER
  • ETKİNLİK

Son İlanlar

  • 29.01.2014Yazılım Uzmanı
  • 21.12.2013E-Ticaret Sorumlusu
  • 21.12.2013IT Müdürü
  • 02.12.2013Junior / Senior Yazılım Geliştirme Uzmanı

Popüler İlanlar

  • 06.06.2013Visual Basic Yazılım Uzmanı
  • 06.06.2013C Developer
  • 06.06.2013Senior C#, Asp.Net Developer
  • 07.06.2013Information Technology Staff

Son Sorular

  • 8/2/2020 11:38:31 PM'Basit' Yazılım Dili
  • 6/25/2020 3:18:13 PMderleme hatası
  • 12/11/2017 4:49:15 PMWindows Hizmeti Hk.
  • 4/23/2016 12:55:33 AMC programlama 2 oyun

Popüler Sorular

  • 5/27/2012 5:49:50 AMAsp.Net ile Date time alana veri ekleyemiiyorum ?
  • 4/2/2012 12:45:18 AM.exe uzantılı dosya için dijital imza nerde nasıl alınır.
  • 5/12/2012 8:44:49 AMAcil Yardım
  • 5/27/2012 1:46:51 PMveri tabanı bağlantısı
  • .Net Framework
  • 8085 Assembly
  • Active Directory
  • ADO.NET
  • Android
  • Apple IOS
  • Arduino
  • ASP.NET
  • ASP.NET MVC
  • Blackberry
  • C#.Net
  • C++
  • CCG Framework
  • CISCO
  • CSS
  • Diğer
  • Dreamweaver
  • Entity Framework
  • Exchange Server
  • Gömülü Sistemler
  • GSM Programlama
  • Güncel
  • Güvenlik
  • HTML5
  • Java
  • Javascript / JQuery
  • Jira
  • Kariyer ve İş Yaşamı
  • LibreOffice
  • LINQ
  • Linux
  • Matlab
  • Microsoft Dynamics CRM
  • Mobil Uygulama Geliştirme
  • MySQL
  • NoSQL
  • Oracle
  • OWIN
  • PFSense
  • PHP
  • Powershell
  • Python
  • Sanallastirma
  • SAP-ABAP
  • SCOM 2012
  • SEO
  • Sharepoint 2010
  • Sharepoint 2013
  • Silverlight
  • Sistem Analiz ve Tasarımı
  • SQL Server
  • Symantec
  • TFS
  • T-SQL
  • Ubuntu
  • VB.NET
  • Veritabanı Yönetim Sistemleri
  • Visual Studio
  • VMware
  • WCF
  • Web Hosting
  • Windows 8
  • Windows Azure
  • Windows Phone 7.1
  • Windows Phone 8
  • Windows Server
  • Wordpress
  • WPF
  • Xamarin
  • XNA
  • Yazılım Mühendisliği
  • Yöneylem Araştırması
  • ASP.NET MVC
  • Entity Framework
  • Javascript / JQuery
  • LINQ
  • PHP

Son Duyurular

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

PropertyGrid Nesnesinde Kullanıcı Form Kullanımı

HASAN DAĞILAN

 Merhaba, bir konuda yardımlarınızı isteyecektim. Hazırladığım bir sınıfın özelliklerini PropertyGrid nesnesinde gösteriyorum. Bu sınıf kullanıcının girdiği değerlere göre hesap yapan bir sınıf. Hesaplarda kullanılan bazı değişkenler tablolardan okunmaktadır. Bunlardan bir tanesinin ismi "Seçilen Kesit". Yapmak istediğim ise "Seçilen Kesit" i tıkladığımda değer bölümünde sağ tarafa yapışık üç noktalı küçük bir buton çıkması ve bu butona tıklayarak hazırladığım tabloların yer aldığı bir kullanıcı formunun görüntülenmesi. Tablolardan seçtiğim kesiti ise PropertyGrid de değer kısmına yazması. String tipindeki "Seçilen Kesit" değişkenine atanan kesit ismine göre sınıf hesabı yapıyor.

Buna benzer ComboBox'larda üye girişlerini gösterebiliriz. Item'ı seçtiğinizde değer kısmında (Collection) yazar ve küçük butona tıkladığınızda yeni bir form açılıyo ve oraya alt alta liste üyelerini ekliyoruz. Aynı şekilde Font ayarlarının yapıldığı formda buna benzer.

İnternette biraz araştırdım. TypeConverter 'e ulaştım fakat örnek bir uygulama bulamadım. Bende yazılım mühendisi değilim :) eldekilere göre istediğimi geliştireyim.

Yardımlarınızı bekliyorum. Şimdiden Teşekkürler.


09.08.2012 13:36

  • 315
  • 2
  • 0
  • Visual Basic.Net
Muhammed ÖNAL

 Merhabalar hasan bey,

internette TypeConverter araştırmalarınız doğru yönde . fakat örnek bir uygulama bulamadığınızı söylemişsiniz. size örnek bir uygulamayı şu şekilde gösterecek olursam, istediğiniz özelliklere uyarlamanız sizin için kolay olacaktır.

Sorunuzu yanlış anlamadıysam, yada anladığım kadarıyla cevaplayacak olursam;

Aşağıdaki program Person Class içerdiği StreetAddress nesne tipinin Address property'sidir.

<TypeConverter(GetType(StreetAddressConverter))> _ Public Class StreetAddress     Public Sub New()     End Sub     Public Sub New(ByVal new_street As String, ByVal _         new_city As String, ByVal new_state As String)         m_Street = new_street         m_City = new_city         m_State = new_state     End Sub      Public Overrides Function ToString() As String         Return m_Street & "," & m_City & "," & State     End Function      Private m_Street As String     Public Property Street() As String         Get             Return m_Street         End Get         Set(ByVal Value As String)             m_Street = Value         End Set     End Property      Private m_City As String     Public Property City() As String         Get             Return m_City         End Get         Set(ByVal Value As String)             m_City = Value         End Set     End Property      Private m_State As String     Public Property State() As String         Get             Return m_State         End Get         Set(ByVal Value As String)             m_State = Value         End Set     End Property End Class

 

Aşağıdaki kod ise TypeConverter'dan devralan StreetAddressConverter sınıfını gösterir.

 

Public Class StreetAddressConverter     Inherits TypeConverter      Public Overloads Overrides Function _         CanConvertFrom(ByVal context As _         System.ComponentModel.ITypeDescriptorContext, ByVal _         sourceType As System.Type) As Boolean         If (sourceType.Equals(GetType(String))) Then             Return True         Else             Return MyBase.CanConvertFrom(context, _                 sourceType)         End If     End Function      Public Overloads Overrides Function CanConvertTo(ByVal _         context As _         System.ComponentModel.ITypeDescriptorContext, ByVal _         destinationType As System.Type) As Boolean         If (destinationType.Equals(GetType(String))) Then             Return True         Else             Return MyBase.CanConvertTo(context, _                 destinationType)         End If     End Function      Public Overloads Overrides Function ConvertFrom(ByVal _         context As _         System.ComponentModel.ITypeDescriptorContext, ByVal _         culture As System.Globalization.CultureInfo, ByVal _         value As Object) As Object         If (TypeOf value Is String) Then             Dim txt As String = CType(value, String)             Dim fields() As String = txt.Split(New Char() _                 {","})              Try                 Return New StreetAddress(fields(0), _                     fields(1), fields(2))             Catch                 Throw New InvalidCastException(value)             End Try         Else             Return MyBase.ConvertFrom(context, culture, _                 value)         End If     End Function      Public Overloads Overrides Function ConvertTo(ByVal _         context As _         System.ComponentModel.ITypeDescriptorContext, ByVal _         culture As System.Globalization.CultureInfo, ByVal _         value As Object, ByVal destinationType As _         System.Type) As Object         If (destinationType.Equals(GetType(String))) Then             Return value.ToString()         Else             Return MyBase.ConvertTo(context, culture, _                 value, destinationType)         End If     End Function      Public Overloads Overrides Function _         GetPropertiesSupported(ByVal context As _         ITypeDescriptorContext) As Boolean         Return True     End Function      Public Overloads Overrides Function GetProperties(ByVal _         context As ITypeDescriptorContext, ByVal value As _         Object, ByVal Attribute() As Attribute) As _         PropertyDescriptorCollection         Return TypeDescriptor.GetProperties(value)     End Function End Class

şeklindedir. kodlar açıktır. umarım yararlı olmuştur.

saygılarımla

Muhammed ÖNAL

Bilgisayar ve Gömülü sistemler mühendisi

 


15.08.2012 20:49

HASAN DAĞILAN

Cevabınız için teşekkür ederim Muhammed Hocam. Vermiş olduğunuz kodlar sınıfdan nesne türettiğiniz zaman o nesnenin özelliklerini PropertyGrid kontrolünde gösterilmesi için gerekli kodlar.

Benim istemiş olduğum tam olarak böyle değil. Yani bunuda kapsıyor ama eksiği var. 

Örneğin elimizde Seçilen Kesit ve Hesap isimlerinde iki sınıfımız olsun.SeçilenKesit sınıfa ait iki adet property var. Bunlar: KesitŞekli ve Kesitİsmi. Hesap sınıfı içerisinde SeçilenKesit sınıfından türemiş ve Kesit isminde bir property tanımladık. Sizin verdiğiniz kodla Hesap sınıfını propertyGrid kontrolüne atadığımızda Kesit property si altında KesitŞekli ve Kesitİsmi property lerini görmemi sağlıyorum. Eğer TypeConverter sınıfını tanımlamadan bunu yapmış olsaydım bu yaptığımı yapamayacaktım yani KesitŞekli ve Kesitİsmi propertylerini PropertyGrid kontrolünde gösteremeyecektim. PropertyGrid de Kesit özelliğinin sol tarafında üçgeni tıkladığımda altında SeçilenKesit sınıfına ait peropertyleri görebiliyorum, bunu vermiş olduğunuz kod sayesinde yapabiliyorum.
 
Benim istediğim: KesitŞekli özelliğim 10 dan fazla, ve her kesit şekli için alt tablolar var ve her tablonun 20 civarında satırı var. Böyle düşündüğünüz zaman bu kadar tabloyu akılda tutmanız mümkün değil. Hazırladığım programın kullanışlılığı açısından bu tabloları programa eklemek istiyorum, ve ekledimde. Yalnız şimdi bu tabloları bir formda gösterip istediğim zaman bu formu açıp dilediğim kesiti seçmem gerek. PropertyGrid kontrolünde Kesit özelliği seçildiğinde altta Kesitİsmi kısmına kesitin ismini yazmam gerek işte o yazma işlemini tabloların yer aldığı form dan oraya atmak istiyorum. örneğin Kesit özelliğini seçtiğimde değer kısmında sağa yapışık olarak duran üç noktalı küçük bir buton belirir. O butona tıklarım ve ekrana kesit tablolarının yer aldığı form gelir. Bu formda kesitşekli ni ve kesit ismini seçip ok dediğimde bunu KesitŞekli ve Kesitİsmi propertylerine atama yapmak.
 
Yapmak istediğime en güzel örnek Font property sidir. Font özelliğinin sol tarafında üçgeni tıkladığımızda Font a ait alt propertyler gözükür. Bunlar Name, Size, Unit, Bold, vb. şeklinde devam eder. Ayrıca seçim işlemi hala Font satırında olduğundan o satırın en sağında küçük bir buton yer alır. Kontrolün Textinin Font özelliklerini bu alt satırlarda değiştiririz, istersekde küçük butona tıklayıp açılan penceren bu özellikleri değiştirebiliriz. İşte benim yapmak istediğimde tam böyle birşey. TypeConverter Font a ait alt propertyleri göstermemizi sağlıyor. Lakin küçük butonun yaptığı işte eksik kalıyor. Kendi yaptığım sınıflarda küçük butonun bu yaptığı işi kullanmak istiyorum. 
 
İlginiz için çok teşekkür ederim. Saygılarımla.


17.08.2012 12:32

Soruya cevap verebilmek için Üye Olmanız ya da Üye Girişi yapmanız gerekmektedir.


Soru Sor

Konular

Genel

3rd Party
Hosting
Sertifikasyon
Mail Servisleri
ERP Yazılımları
Genel Konular

Yazılım - Microsoft

.Net Framework
Ado.Net
Asp.Net ve Asp.Net MVC
C#.Net
Entity Framework
LINQ
Visual Basic.Net
Windows Azure
WPF
WCF
PHP
XML Web Servisleri
LINQ
XNA ve Oyun Programlama

Java

Java
AWT / Java Swing
Java Network
JSP & JSTL
Java Servlet

Yazılım - Mobil

Android
Apple IOS
Windows Mobile
Windows Phone
GSM Programlama
Blackberry

Web Teknolojileri

HTML
Javascript
JQuery
Dojo
SEO

Sistem

Active Directory
Exchange Server
Lync
SCOM 2012
Sharepoint 2010
Windows Server 2008
Windows Server 2012
Forefront
System Center
Hyper-V
Microsoft Biztalk
Microsoft CRM
Lisanslama
Sharepoint 2013
Team Foundation Server (TFS)

Veritabanı

SQL Server
Oracle
MySQL
Lisanslama

Cloud

Windows Cloud
IBM Cloud
VMWare Cloud
Google Cloud
Amazon Cloud
Lisanslama
Windows Embedded ve Gömülü Sistemler
Linux

Donanım

Genel Donanım
HP Ürünleri
IBM Ürünleri
Depolama Üniteleri

Site ile ilgili

Yazılım Dilleri Hakkında
Üyelik ile ilgili sorular

Microsoft Office

MS Word
Excel
Access
Publisher
Visio
Powerpoint
OneNote

Yazılım Dilleri

C++
C
Delphi
Assemblye
Embedded C
Matlab
Perl
Pyhton
Cold Fusion
Soru Sor
YAZILIM DİLLERİ
Yukarı Çık
  • Hakkımızda
  • Facebook
  • Twitter
  • RSS

© Yazılım Dillerinin Buluşma Noktası | Kaynak belirtildiği sürece makaleler kopyalanabilir.

Kapat

Giriş Yap

Kullanıcı Adı

Şifre

Şifremi Unuttum

KULLANICI GİRİŞİ