#現状
こんにちは。表題の通りで、一応自分でも作ってみたのですが、
c#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6using System.Windows; 7using System.Windows.Controls; 8using System.Windows.Data; 9using System.Windows.Documents; 10using System.Windows.Input; 11using System.Windows.Media; 12using System.Windows.Media.Imaging; 13using System.Windows.Navigation; 14using System.Windows.Shapes; 15 16namespace WPFTutorial20200914_3 17{ 18 /// <summary> 19 /// Interaction logic for MainWindow.xaml 20 /// </summary> 21 public partial class MainWindow : Window 22 { 23 public MainWindow() 24 { 25 InitializeComponent(); 26 r = new Random(); 27 logs = new System.Collections.ObjectModel.ObservableCollection<string>(); 28 } 29 30 private Random r; 31 32 private readonly string letters = "abcdefghijklmnopqrstuvwxyz"; 33 34 public System.Collections.ObjectModel.ObservableCollection<string> logs; 35 36 private void addLogs(string str) 37 { 38 logs.Insert(0, str); 39 while (logs.Count > 200)//here 40 { 41 logs.RemoveAt(logs.Count - 1); 42 } 43 string temp = ""; 44 foreach(var i in logs) 45 { 46 temp += i + "\n"; 47 } 48 tb.Text = temp; 49 } 50 51 private void Button_Click(object sender, RoutedEventArgs e) 52 { 53 for (int j = 0; j < 10; j++) 54 { 55 string temp = ""; 56 for (int i = 0; i < r.Next(1, 20); i++) 57 { 58 temp += letters[r.Next(0, letters.Length - 1)]; 59 } 60 addLogs(temp); 61 } 62 } 63 } 64} 65
//hereの部分を大きくすると、(当然ですが)重くなり、ボタンクリックから即座に反応するのが難しくなってしまいます。ListBox系のものを使えば簡単ですが、あちらはカーソルを合わせると選択肢が青くなるのがデザイン上気に入らないため、このようにしています。
#知りたいこと
以上より、私は以下のどちらかについて知りたいです。
- カーソルを合わせても何も起こらないListBoxの作成方法
- ObservableCollection等について、1要素の追加と削除に対しての効率的な文字列への変換方法
よろしくお願いします。
#開発環境
OS: Windows10 HOME version 1909
IDE: Visual Studio 2019 Preview
Language: .NET Framework 4.7.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/15 05:05