none
Вывод нескольких параллельных результатов в ListBox (VisualBasic.NET) RRS feed

  • Вопрос

  • Здравствуйте, моя задача написать программу в среде VB, которая будет считать значения функция на отрезке [a, b] с шагом h. Для вывода результата использовать ListBox

    Я для вывода Аргумента (x) и значения функции f(x) использую 2 разных ListBox (ListBox1 для аргумента (x), а ListBox2 для значения функция), но я хочу вывести эти два результата в один ListBox. То есть я хочу вывести 2 значения параллельно друг другу в один ListBox.



    • Изменено Daniilblag 30 октября 2017 г. 11:30
    30 октября 2017 г. 11:28

Все ответы

  • Добрый день,

    Можете просто использовать DataGrid. Или же разделите каждый каждую строку на две части как в следующеп примере 

        public class DataPair
        {
            public int ArgumentValue { get; set; }
            public int FunctionValue { get; set; }
        }
    
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                List<DataPair> data= new List<DataPair>();
                data.Add(new DataPair() { ArgumentValue = 5, FunctionValue = 25 });
                data.Add(new DataPair() { ArgumentValue = 6, FunctionValue = 36 });
                data.Add(new DataPair() { ArgumentValue = 7, FunctionValue = 49 });
                data.Add(new DataPair() { ArgumentValue = 8, FunctionValue = 64 });
                data.Add(new DataPair() { ArgumentValue = 9, FunctionValue = 81 });
                data.Add(new DataPair() { ArgumentValue = 10, FunctionValue = 100 });
                DisplayList.ItemsSource = data;
    
            }
       }
      <Grid>
                <ListBox HorizontalAlignment="Left" x:Name="DisplayList"
                         Height="269" VerticalAlignment="Top" Width="292">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <Grid>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="*"/>
                                    <ColumnDefinition Width="*"/>
                                </Grid.ColumnDefinitions>
                                <TextBlock Text="{Binding ArgumentValue}" Grid.Column="0"/>
                                <TextBlock Text="{Binding FunctionValue}" Grid.Column="1"/>
                            </Grid>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
        </Grid>



    Make the community better together


    • Изменено Azat Tazayan 30 октября 2017 г. 14:39
    30 октября 2017 г. 14:35
  • Мне нужен именно ListBox и два параллельных результата. Не нужно разделять. Может быть как-то через format
    30 октября 2017 г. 15:50
  • По сути можно просто через String.Concat соединять строки и пихать в ListBox результат. А чтобы это выглядело прилично, выбрать моноширинный шрифт.
    • Предложено в качестве ответа Alexandr_Smirnoff 9 ноября 2017 г. 7:09
    30 октября 2017 г. 18:31