Şimdi Ara

C# Belirli bir satıra gitmek nasıl oluyor ?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
14
Cevap
0
Favori
737
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Yardımcı olacak hayırsevere şimdiden teşekkürler. İnanın 3 gün heryeri yabancı forumları dahi araştırdım ona rağmen bulamadım.

    Şimdi aşağıdaki resimde olay az çok belli ben istiyorum ki "BURAYA TIKLAYINCA 3. SEKMEYE GİTSİN" yazan yer varya oraya tıklayınca aşağıda 3.sekme yazan yere gitsin. Yani tam ordaki satıra gitsin. Aynı şekilde 4 e basınca 4 teki satıra 2 ye basınca 2 deki satıra vs vs. Kodlamaya daha dün başladım biraz detaylı olarak sırasıyla bunu nasıl yapabilirim bilgi verebilirseniz çok sevinirim.

    Veya bunu yapamıyorsak alternatif olarak sağ kısıma arama butonu koydum. Bu arama butonu için bir kod buldum ama sadece bir tane richtextbox içindeki kelimeleri arayabiliyor. Bir çok richtextbox içindeki kelimeleri aratabilieceğim bir kod varmı ?

    Programın amacı:
    100'den fazla aşağıya doğru richtext box olacağı için programı kullanan kişi satır çubuğunu kaydırmak yerine yukarıdan ilgili yeri seçip tık diye o satırda bulacak kendini. :ka05:


     C# Belirli bir satıra gitmek nasıl oluyor ?







  • Form nesnesinde ScrollToControl isimli bir metot bulunmakta işine yarabilir.
  • Hocam yanlış anlamada programa başlayalı 2 gün oldu o yüzden biraz daha detaylı bilgi verebilrimsn ?
  • öyle scroll yaparsan üstteki menü kaybolur aşağıda örnek yaptım


    http://www97.zippyshare.com/v/EC4TgOiN/file.html



    < Bu mesaj bu kişi tarafından değiştirildi Gökşen PASLI -- 7 Ağustos 2015; 19:34:04 >
  • Abi yemin ediyorum kralsın ya tamda aradığım şey. Bi kaç sorum daha olacak mesela bütün satırlarda aynı şeyin yazmasını istemiyorum diyelim örneğin; 1 satırda 'Durumlar' 2.satırda Bilgiler yazacak. Bunu hangi kodu değiştirirerek veya kod ekleyerek ayarlayblrm ?
  • Birde o texboxlara ayrı ayrı nasıl yazı yazabilriim ? Sadece panel olarak görünüyor.
  • Hocam senden bir ricam olacak şimdi sayılar tekrarlı olduğu için pek anlayamadım. Sen bunun iki tane textboxana ayrı ayrı bişey yazsan. Listboxtada iki tane farklı yazı olsa yani sayı olarak sıralı olmasa. Birde arama kısmının mantığı sayı ile değilde kutu içinde yazan bilgilere göre olsa çokmu şey istemiş olacağım :( İnan bu şekilde mantığı daha iyi kavrayıp yapacağım programa entegre edebilrim.
  • en üstteki listboxu kendin yaparsın eklemesini tıklama olayına aynı kodu yazarsın

    diğer taraftan isim yazmak için aşağıdaki gibi kullan arrayı 100 tane tekrarlayan harf yazdım değiştirirsin sırayla yazacak aşağı doğru


     

    using System;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Windows.Forms;

    namespace scr
    {
    /// <summary>
    /// Description of MainForm.
    /// </summary>
    public partial class MainForm : Form
    {
    public MainForm()
    {
    //
    // The InitializeComponent() call is required for Windows Forms designer support.
    //
    InitializeComponent();

    //
    // TODO: Add constructor code after the InitializeComponent() call.
    //
    }
    readonly TextBox[] textbox = new TextBox[100];
    readonly Label[] label = new Label[100];
    readonly string[] labelisimleri = new string[100]{"a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e"};
    void MainFormLoad(object sender, EventArgs e)
    {

    for (int i = 0; i <= 99; i++) {
    listBox1.Items.Add("buraya tıklayınca "+(i+1)+" sekmesine gitsin.");
    }

    for (int i = 0; i <=99; i++)
    {

    label[i] = new Label();
    label[i].Parent=splitContainer1.Panel2;
    label[i].Left=300;
    label[i].Top+=i*55+10;
    splitContainer1.Panel2.Controls.Add(label[i]);
    label[i].Text=labelisimleri[i];
    label[i].Font=new Font(label[i].Font,FontStyle.Bold);
    }








    for (int i = 0; i <=99; i++)
    {

    textbox[i] = new TextBox();
    textbox[i].Parent=splitContainer1.Panel2;
    textbox[i].Width=250;
    textbox[i].Height=40;
    textbox[i].Multiline=true;
    textbox[i].Top+=i*55;
    splitContainer1.Panel2.Controls.Add(textbox[i]);

    }
    }
    void ListBox1Click(object sender, EventArgs e)
    {
    ActiveControl = textbox[listBox1.SelectedIndex];
    }
    void Button1Click(object sender, EventArgs e)
    {
    ActiveControl = textbox[int.Parse(textBox1.Text)-1];
    }
    }
    }






  • quote:

    Orijinalden alıntı: victoryrock

    Birde o texboxlara ayrı ayrı nasıl yazı yazabilriim ? Sadece panel olarak görünüyor.

    o textboxlar sen programın içinde kendin doldurmayacan mı hazır metin mi yazılacak

    yukarıda verdiğim kodu oraya uyarlarsın sırayla textboxların içine gelecek yazıları diziye atarsın sırayla doldurur metinle arama kısmına aşağıdaki gibi yaptım


     

    using System;
    using System.Linq;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Windows.Forms;

    namespace scr
    {
    /// <summary>
    /// Description of MainForm.
    /// </summary>
    public partial class MainForm : Form
    {
    public MainForm()
    {
    //
    // The InitializeComponent() call is required for Windows Forms designer support.
    //
    InitializeComponent();

    //
    // TODO: Add constructor code after the InitializeComponent() call.
    //
    }
    readonly TextBox[] textbox = new TextBox[100];
    readonly Label[] label = new Label[100];
    readonly string[] labelisimleri = new string[100]{"a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e","a","b","c","d","e"};
    void MainFormLoad(object sender, EventArgs e)
    {

    for (int i = 0; i <= 99; i++) {
    listBox1.Items.Add("buraya tıklayınca "+(i+1)+" sekmesine gitsin.");
    }

    for (int i = 0; i <=99; i++)
    {

    label[i] = new Label();
    label[i].Parent=splitContainer1.Panel2;
    label[i].Left=300;
    label[i].Top+=i*55+10;
    splitContainer1.Panel2.Controls.Add(label[i]);
    label[i].Text=labelisimleri[i];
    label[i].Font=new Font(label[i].Font,FontStyle.Bold);
    }

    for (int i = 0; i <=99; i++)
    {

    textbox[i] = new TextBox();
    textbox[i].Parent=splitContainer1.Panel2;
    textbox[i].Width=250;
    textbox[i].Height=40;
    textbox[i].Multiline=true;
    textbox[i].Top+=i*55;
    textbox[i].Tag=i+1;
    splitContainer1.Panel2.Controls.Add(textbox[i]);

    }
    }
    void ListBox1Click(object sender, EventArgs e)
    {
    ActiveControl = textbox[listBox1.SelectedIndex];
    }
    void Button1Click(object sender, EventArgs e)
    {


    foreach(var c in splitContainer1.Panel2.Controls)
    {
    var textBox = c as TextBox;
    if (textBox != null)
    {
    if (textBox.Text.Contains(textBox1.Text)) {
    ActiveControl = textbox[Convert.ToInt32(textBox.Tag)-1];
    }

    }
    }



    }
    }
    }




    < Bu mesaj bu kişi tarafından değiştirildi Gökşen PASLI -- 7 Ağustos 2015; 20:47:53 >




  • Abi şimdi bu verdiğin kodları direk eklediğimde hata veriyor. İşin yoksa müsaitsen .zip olarak göndereblrmsn az önceki giibi.
  • Bida da başını ağritmam söz
  • quote:

    Orijinalden alıntı: victoryrock

    Abi şimdi bu verdiğin kodları direk eklediğimde hata veriyor. İşin yoksa müsaitsen .zip olarak göndereblrmsn az önceki giibi.

    http://www4.zippyshare.com/v/hMpv8Yyi/file.html
  • Allah razı olsun sorun çözülmüştür. Gerisinide kurcalayıp ben bulayım artık. Gerçekten çok teşekkürler. Arama butonu konusuna gelince formdaki bütün label ve richtextboxlar içerisnde arama yapacak bir kod varmı bildiğiniz. Ben bitane buldumda sadece bir tane richtextbox içinde arama yapıyor.
  • quote:

    Orijinalden alıntı: victoryrock

    Allah razı olsun sorun çözülmüştür. Gerisinide kurcalayıp ben bulayım artık. Gerçekten çok teşekkürler. Arama butonu konusuna gelince formdaki bütün label ve richtextboxlar içerisnde arama yapacak bir kod varmı bildiğiniz. Ben bitane buldumda sadece bir tane richtextbox içinde arama yapıyor.

    foreach(var c in splitContainer1.Panel2.Controls)
    {
    var textBox = c as TextBox;
    if (textBox != null)
    {
    if (textBox.Text.Contains(textBox1.Text)) {
    ActiveControl = textbox[Convert.ToInt32(textBox.Tag)-1];
    }

    }
    }


    kısmı kendine uyarla
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.