Çözüldü C# label değerine göre resim gösterme

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Acı Rakı

Decapat
Katılım
25 Haziran 2021
Mesajlar
727
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar şöyle bir yerde takıldım; 2 tane picturebox var ve label rastgele sayı üretiyor; eğer labeldeki sayı 30000'den büyükse 1. resmi, 30000'den küçükse 2. resmi gösterecek, bunu nasıl yaparım? Her yere baktım, bir çözüm bulamadım. C#'ta yeni sayılırım.
 
Son düzenleyen: Moderatör:
Çözüm
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Visible = false;
            pictureBox1.Visible = false;
            pictureBox2.Visible = false;
            timer1.Interval = 1000;
            timer1.Start();
            label1.TextChanged += Label1_TextChanged;
        }

        private void Label1_TextChanged(object sender, EventArgs e)
        {
            this.Invoke(new EventHandler(resimYenile));
        }

        private void resimYenile(object sender, EventArgs e)
        {
            if (Convert.ToInt32(label1.Text)>30000)
            {
                pictureBox1.Visible = true;
                pictureBox2.Visible = false;
            }
            else
            {
                pictureBox1.Visible = false;
                pictureBox2.Visible = true;
            }
        }

        void rastGele()
        {
            Random rnd = new Random();
            label1.Text = rnd.Next(0, 60000).ToString();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            rastGele();
        }
    }
}
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Visible = false;
            pictureBox1.Visible = false;
            pictureBox2.Visible = false;
            timer1.Interval = 1000;
            timer1.Start();
            label1.TextChanged += Label1_TextChanged;
        }

        private void Label1_TextChanged(object sender, EventArgs e)
        {
            this.Invoke(new EventHandler(resimYenile));
        }

        private void resimYenile(object sender, EventArgs e)
        {
            if (Convert.ToInt32(label1.Text)>30000)
            {
                pictureBox1.Visible = true;
                pictureBox2.Visible = false;
            }
            else
            {
                pictureBox1.Visible = false;
                pictureBox2.Visible = true;
            }
        }

        void rastGele()
        {
            Random rnd = new Random();
            label1.Text = rnd.Next(0, 60000).ToString();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            rastGele();
        }
    }
}
 
Çözüm
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp3.
{
 public partial class Form1 : Form.
 {
 public Form1()
 {
 InitializeComponent();
 }

 private void Form1_Load(object sender, EventArgs e)
 {
 label1.Visible = false;
 pictureBox1.Visible = false;
 pictureBox2.Visible = false;
 timer1.Interval = 1000;
 timer1.Start();
 label1.TextChanged += Label1_TextChanged;
 }

 private void Label1_TextChanged(object sender, EventArgs e)
 {
 this.Invoke(new EventHandler(resimYenile));
 }

 private void resimYenile(object sender, EventArgs e)
 {
 if (Convert.ToInt32(label1.Text)>30000)
 {
 pictureBox1.Visible = true;
 pictureBox2.Visible = false;
 }
 else.
 {
 pictureBox1.Visible = false;
 pictureBox2.Visible = true;
 }
 }

 void rastGele()
 {
 Random rnd = new Random();
 label1.Text = rnd.Next(0, 60000).ToString();
 }

 private void timer1_Tick(object sender, EventArgs e)
 {
 rastGele();
 }
 }
}

Sonunda... Çok teşekkürler dostum.
 

Yeni konular

Geri
Yukarı