Soran
Richtextboxta satırların yerini değiştirme

Soru
-
Merhabalar
Form uygulamasında Richtextbox'ın içeriğinde ki örneğin 1. ve 7. satırda ki yazıların buton aracılığıyla yer değiştirmesini istiyorum bunu nasıl yapabilirim. kodunu yazabilir misiniz?.
şimdiden teşekkür ederim.
- Düzenleyen arasc 1 Ocak 2020 Çarşamba 22:39
Tüm Yanıtlar
-
Şu şekilde çalışıyor
string[] satılar = richTextBox1.Text.Split('\n'); string X=satılar[1]; satılar[1] = satılar[3]; satılar[3] = X; richTextBox1.Clear(); for (int i = 0; i < satılar.Length; i++) { richTextBox1.AppendText(satılar[i]+"\n"); }
Ama şu şekilde de çalışması lazımken çalışmadı. Belki benim bilmediğim bir şeyler var..
string Y = richTextBox1.Lines[1]; richTextBox1.Lines[1] = richTextBox1.Lines[3]; richTextBox1.Lines[3] = Y;
Sanki richtextBox1.Lines[] ile sadece değer okunabiliyor..
-
@Özcan, bu gibi basit işlerde çalışan koddan daha fazlasını yazmaya çalışmanı öneririm, kaslar gelişir. Çok uzun bir metinde bu kod felaket yavaş çalışacaktır. Keyif senin.
-
@Özcan, bu gibi basit işlerde çalışan koddan daha fazlasını yazmaya çalışmanı öneririm, kaslar gelişir. Çok uzun bir metinde bu kod felaket yavaş çalışacaktır. Keyif senin.
Abi eskiden bu alanda kendimi geliştirip iş bulmaya çalışıyordum o zaman çok uğraşıyordum artık biraz hobi gibi takılıyorum. Bir firmanın AR-GE bölümünde Çizim tasarım modelleme üzerine işe girdim. Buradan yanıtlayabildiğim bazı soruları da yanıtlamaya çalışıyorum. 2. verdiğim kod daha hızlı çalışır aslında ama nedense çalışmadı.
-
@Özcan, bu gibi basit işlerde çalışan koddan daha fazlasını yazmaya çalışmanı öneririm, kaslar gelişir. Çok uzun bir metinde bu kod felaket yavaş çalışacaktır. Keyif senin.
Abi eskiden bu alanda kendimi geliştirip iş bulmaya çalışıyordum o zaman çok uğraşıyordum artık biraz hobi gibi takılıyorum. Bir firmanın AR-GE bölümünde Çizim tasarım modelleme üzerine işe girdim. Buradan yanıtlayabildiğim bazı soruları da yanıtlamaya çalışıyorum. 2. verdiğim kod daha hızlı çalışır aslında ama nedense çalışmadı. -
-
RichTextBox'ta format, renk vs vardır. Degisiklik yaparken bunu gözönünde bulundurmalisiniz. Formatlama onemli degil ise degisiklik basitçe .Lines koleksiyonundan yapılır.
void Main() { Form f = new Form { Height = 400, Width = 600 }; ListBox lb = new ListBox { Top = 10, Left = 10, Width = 100 }; RichTextBox rtb = new RichTextBox { Top = 10, Left = 150, Width = 400, Height = 350, ReadOnly = true }; Button b = new Button { Top = 200, Left = 10, Text = "Degistir" }; var data = GetDocsFromDb().ToList(); lb.DataSource = data; f.Controls.Add(lb); f.Controls.Add(rtb); f.Controls.Add(b); lb.SelectedValueChanged += (sender, args) => { var doc = ((ListBox)sender).SelectedItem as Doc; if (doc != null) { rtb.Rtf = doc.RTF; } else { rtb.Rtf = ""; } }; b.Click += (sender, e) => { var first = 1; var second = 3; // format onemli olmasaydi: // var lines = rtb.Lines; // (lines[first], lines[second]) = (lines[second], lines[first]); // rtb.Lines = lines; if (rtb.Lines.Length > second) { var firstText = rtb.Lines[first]; var secondText = rtb.Lines[second]; rtb.Find(secondText); rtb.SelectedText = firstText; rtb.Find(firstText); rtb.SelectedText = secondText; } }; f.Show(); } private IEnumerable<Doc> GetDocsFromDb() { var ornekler = new List<Doc> { new Doc { Id=1, Aciklama="Ornek1", RTF=File.ReadAllText(@"C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\DotNetFX40Client\en\Eula.rtf")}, new Doc { Id=2, Aciklama="Ornek2", RTF=File.ReadAllText(@"C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\DotNetFX40KB2468871\en\Eula.rtf")}, new Doc { Id=3, Aciklama="Ornek3", RTF=File.ReadAllText(@"C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\DotNetFX451\en\Eula.rtf")}, }; return ornekler; } public class Doc { public int Id { get; set; } public string Aciklama { get; set; } public string RTF { get; set; } public override string ToString() { return this.Aciklama; } }
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.- Yanıt Olarak Öneren Kyamuran SalibryamMicrosoft contingent staff, Moderator 7 Ocak 2020 Salı 11:22