En iyi yanıtlayıcılar
ProgressBar kullanımı hk.

Soru
-
Merhaba Arkadaşlar,
Combobox tan seçilen değere göre progressbar kullanmak istiyorum fakat hiç bilgim olmadığı için sizlerden konu hakkında yardım rica ediyorum.
Ben combobox tan 25 % veya 50 % seçtiğimde progressbar buna göre dolacak eğer 100 % ise tam dolu olacak.
Syg.
Yanıtlar
-
Selam Levent Bey,
İlk mesajınızda Combobox'dan bahsettiğiniz için ona göre bir örnek kod yollamıştım. Şimdi ki mesajınız DataGridView ile ilgili ve Combobox ile ilgili bir yer göremedim, belki de DataGridViewComboboxColumn'u kastediyorsunuz?.
İlgili hücreye (DataGridViewComboboxColumn) veya alana "25%" gibi formatta kayıt yapıyorsanız, (dikkat ediniz "25%" öncesinde sonrasında boşluk yok), değeri ters çevirip substring uygulayarak veya % işaretini trim ederek numerik değeri almanız oldukça kolay:
Bir örnek:
' EditingControlShowing olayını kullanınız.
Private Sub DataGridView1_EditingControlShowing _
(ByVal sender As System.Object, _
ByVal e As DataGridViewEditingControlShowingEventArgs) _
Handles DataGridView1.EditingControlShowing
Dim editingComboBox As ComboBox = _
DirectCast(e.Control, ComboBox)
ProgressBar1.Maximum = 100
AddHandler editingComboBox.SelectedIndexChanged, AddressOf Me.editingComboBox_SelectedIndexChanged
End Sub
Private Sub editingComboBox_SelectedIndexChanged _
(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim val As String = _
DirectCast(sender, ComboBox).SelectedItem.ToString
ProgressBar1.Value = CInt(val.Trim("%"c))
End Sub...combobox'da Items olarak "25%", "50%" ve "100%" ve "75%" değerlerinin olduğu varsayımı altında çalışmaktadır. İki satır arası geçişti aynı kolondaki verinin formdaki progressbarda güncellenmesi için combobox'a (datagridviewcomboboxcolumn'a) tıklanması gerekmektedir.
İyi çalışmalar.
Best regards, Saygılarımla, Onur Güzel
Yazgeliştir Forumları VB.NET / C# Moderatorü.
Microsoft Haber Grupları Profilim (VB.NET)- Yanıt Olarak İşaretleyen levent_ozturk 20 Nisan 2011 Çarşamba 18:06
Tüm Yanıtlar
-
Merhaba Levent Bey,
Öncelikle combobox içerisinde 25, 50, 75 ve 100 değerlerinin olduğunu varsayalım. Bu değerlerin sonuna "%" işareti koymak isterseniz kod değişiklik gösterecek, o yüzden örneksel açıdan sadece rakamsal değerlerin combobox öğeleri olarak yer aldığını varsarayarak:
' SelectedIndexChanged olayında:
Private Sub ComboBox1_SelectedIndexChanged _
(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles ComboBox1.SelectedIndexChanged
ProgressBar1.Maximum = 100
ProgressBar1.Value = CInt(ComboBox1.SelectedItem)
End SubBu şekilde progressbar combobox içerisinden seçilen değere göre dolacak, progressbar maximum 100 değerine sabitlediğimiz için ve combobox'dan alacağımız değeri yüzdelik olarak progressbar'a yansıtacağınız için sorun kalmıyor.
İyi çalışmalar.
Best regards, Saygılarımla, Onur Güzel
Yazgeliştir Forumları VB.NET / C# Moderatorü.
Microsoft Haber Grupları Profilim (VB.NET) -
Merhaba Onur Bey,
Öncelikle yardımcı olmaya çalıştığınız için tşk. ederim.
Db'ye kayıt yaparken Tamamlanan kolonuna ( 25 % ) şeklinde kayıt yapıyorum. Acaba bu şekilde kayıt yapmakla yanlış mı yapıyorum.?
Yazdıklarınızdan anladığım kadarı ile Tamamlanan kolonuna % işareti koymadan kayıt yapmam gerekiyor diye düşünüyorum.
Ve birde progressbar'ı aşağıdaki şekilde de kullanmam gerekiyor onu nasıl yapabilirim?
Yapmak istediğim şey tam olarak şu şekilde. Forma bir adet Datagridview yerleştirdim. Datagridview'in üst kısmına progressbar yerleştirdim. Datagridview de seçilen veri ( 25 % ) veya
( 75 % ) artık tamamlanan yüzde kaç ise progressbar o kadar dolsun istiyorum.
Ben aşağıdaki şekilde yaptım fakat sanırım % işareti olduğu için olmuyor % işaretini kaldırmam mı gerekir acaba?
Private Sub DataGridView1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged
If (DataGridView1.SelectedCells.Count > 0) Then
LabelYuzde.Text = DataGridView1.CurrentRow.Cells("Tamamlanan").Value.ToString
Try
If LabelYuzde.Text < 101 And LabelYuzde.Text > 0 Then
Seviye = LabelYuzde.Text
End If
ProgressBar1.Value = Seviye
Catch ex As Exception
End Try
End If
Syg.
-
Selam Levent Bey,
İlk mesajınızda Combobox'dan bahsettiğiniz için ona göre bir örnek kod yollamıştım. Şimdi ki mesajınız DataGridView ile ilgili ve Combobox ile ilgili bir yer göremedim, belki de DataGridViewComboboxColumn'u kastediyorsunuz?.
İlgili hücreye (DataGridViewComboboxColumn) veya alana "25%" gibi formatta kayıt yapıyorsanız, (dikkat ediniz "25%" öncesinde sonrasında boşluk yok), değeri ters çevirip substring uygulayarak veya % işaretini trim ederek numerik değeri almanız oldukça kolay:
Bir örnek:
' EditingControlShowing olayını kullanınız.
Private Sub DataGridView1_EditingControlShowing _
(ByVal sender As System.Object, _
ByVal e As DataGridViewEditingControlShowingEventArgs) _
Handles DataGridView1.EditingControlShowing
Dim editingComboBox As ComboBox = _
DirectCast(e.Control, ComboBox)
ProgressBar1.Maximum = 100
AddHandler editingComboBox.SelectedIndexChanged, AddressOf Me.editingComboBox_SelectedIndexChanged
End Sub
Private Sub editingComboBox_SelectedIndexChanged _
(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim val As String = _
DirectCast(sender, ComboBox).SelectedItem.ToString
ProgressBar1.Value = CInt(val.Trim("%"c))
End Sub...combobox'da Items olarak "25%", "50%" ve "100%" ve "75%" değerlerinin olduğu varsayımı altında çalışmaktadır. İki satır arası geçişti aynı kolondaki verinin formdaki progressbarda güncellenmesi için combobox'a (datagridviewcomboboxcolumn'a) tıklanması gerekmektedir.
İyi çalışmalar.
Best regards, Saygılarımla, Onur Güzel
Yazgeliştir Forumları VB.NET / C# Moderatorü.
Microsoft Haber Grupları Profilim (VB.NET)- Yanıt Olarak İşaretleyen levent_ozturk 20 Nisan 2011 Çarşamba 18:06