User Tag List

Gösterilen sonuçlar: 1 ile 5 ve 5

VB.NET Kayan yazı kodumda bir problemim var

Programlama forumunda VB.NET Kayan yazı kodumda bir problemim var konusunu incelemektesiniz.

Arkadaşlar kayan yazı kodumda bir sorunum var bir labelin içinde bir yazının kaymasını istiyorum bunuda yaptım ama sorun bu yazının illaki bu labelin özelliklerinden girilmiş olması lazım yoksa çalışmıyor ben ...

  1. #1
    Vatansever - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Aug 2007
    Mesajlar
    234

    Thumbs up VB.NET Kayan yazı kodumda bir problemim var

    Arkadaşlar kayan yazı kodumda bir sorunum var bir labelin içinde bir yazının kaymasını istiyorum bunuda yaptım ama sorun bu yazının illaki bu labelin özelliklerinden girilmiş olması lazım yoksa çalışmıyor ben ise bu yazıya değişken atayarak çalıştırmak istiyorum mesela
    Dim yazi As String = "Türkiye Cumhuriyeti"
    yazi stringinin Label1 içinde kaymasını istiyorum kodumda nasıl bir düzeltme yapmalıyım? Labelleri kaydırma yöntemide var ama benim kullanacağım yere uygun değil aşağıdaki kod çok uygun.

    Kod:
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Me.Label1.Text = Me.Label1.Text.Substring(1) + Me.Label1.Text.Substring(0, 1)
        End Sub
    
    ' Form_Load kısmınada
    Me.Timer1.Start()

  2. #2

    Üyelik tarihi
    Jul 2011
    Mesajlar
    48

    Standart

    Bu şekilde de olur fakat kayan yazıların şık gözükmesi için bir usercontrol içerisine String i bitmap olarak coordinat şeklinde yazdırırsan hoş akışlar elde edebilirsin.
    Kod:
    Public Class Form1
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Timer1.Interval = 200
            Timer1.Enabled = True
            Label1.Text = "Türkiye Cumhuriyeti"
        End Sub
    
        Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
            Static TimerCounter As Integer = 0
            Static LabelText As String = Label1.Text
            If TimerCounter <= Len(LabelText) Then
                Label1.Text = Mid(LabelText, 1 + TimerCounter)
                TimerCounter += 1
            Else
                Timer1.Enabled = False
            End If
        End Sub
    End Class

  3. #3
    Vatansever - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Aug 2007
    Mesajlar
    234

    Standart

    Yazdığın kodda yazı bir defa kayıyor sürekli kayan yazı lazım elimde kordinat kullanarak yazı kaydırma kodu var ama benim kullanacağım yerlerde işe yaramaz yazı kaydırma lazım

  4. #4

    Üyelik tarihi
    Feb 2012
    Mesajlar
    14

    Standart

    teşekkürler...

  5. #5

    Üyelik tarihi
    Jul 2011
    Mesajlar
    48

    Standart

    Gösterdiğim şekilde pixel pixel kaydırma daha şık duruyor
    Kod:
    Public Class Form1
        Class ScrollingText
            Inherits UserControl
            Dim gr As System.Drawing.Graphics
            Dim bm As System.Drawing.Bitmap
            Dim PicWidth As Integer = 0
            Dim PicHeight As Integer = 0
            Dim RefreshTimer As New Timer
            Dim UsedFont As New Font("Ariel", 12)
            Dim gXOffsetValue As Integer = 0
            Dim ScrollDirection As Integer = 1
            Dim ScrollText As String = ""
            Dim FontColor As Brush
            Dim BackgroundColor As Color
            Sub New()
                Me.Width = 150
                Me.Height = 20
                PicWidth = Me.Width
                PicHeight = Me.Height
                FontColor = Brushes.Red
                BackgroundColor = BackColor
                ScrollText = "Türkiye Cumhuriyeti"
                bm = New System.Drawing.Bitmap(PicWidth, PicHeight)
                gr = System.Drawing.Graphics.FromImage(bm)
                AddHandler Me.Paint, AddressOf UserControl_Paint
                AddHandler RefreshTimer.Tick, AddressOf RefreshTimer_Tick
                gr.Clear(BackgroundColor)
                DrawCoordText(ScrollText, 0, 0)
                RefreshTimer.Interval = 10
                RefreshTimer.Enabled = True
            End Sub
            Public Sub DrawCoordText(ByVal pText As String, ByVal pStartX As Integer, ByVal pStartY As Integer)
                gr.Clear(BackgroundColor)
                gr.DrawString(pText, UsedFont, FontColor, New Point(pStartX, pStartY))
                Me.Refresh()
            End Sub
            Private Sub UserControl_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs)
                e.Graphics.DrawImage(bm, New Point(0, 0))
            End Sub
            Private Sub RefreshTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
                If ScrollDirection = -1 Then
                    If gXOffsetValue <= -gr.MeasureString(ScrollText, UsedFont).Width Then
                        ScrollDirection = 1
                    End If
                    gXOffsetValue = gXOffsetValue + ScrollDirection
                End If
                If ScrollDirection = 1 Then
                    If gXOffsetValue >= Me.Width Then
                        ScrollDirection = -1
                    End If
                    gXOffsetValue = gXOffsetValue + ScrollDirection
                End If
                DrawCoordText(ScrollText, gXOffsetValue, 0)
            End Sub
        End Class
        Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim st As New ScrollingText
            Controls.Add(st)
            st.Top = 0 : st.Left = 0
        End Sub
    End Class

Konu Bilgileri

Bu konuyu görüntüleyenler

Şu an 1 kullanıcı var. (0 üye ve 1 konuk)

Benzer Konular

  1. Cevaplar: 3
    Son Mesaj: 19-01-2011, 23:24
  2. Cevaplar: 2
    Son Mesaj: 08-12-2010, 00:26
  3. Cevaplar: 29
    Son Mesaj: 07-03-2010, 10:54
  4. Firefox ile ilgili bir problemim var.
    ta2ccc - forum Mozilla Firefox
    Cevaplar: 8
    Son Mesaj: 11-06-2009, 18:32
  5. Cevaplar: 15
    Son Mesaj: 05-09-2007, 21:22

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •  

vBulletin Optimisation by vB Optimise.