Простая привязка данных к списку объектов. Ошибка "CreateBookInfoList" не существует в текущем контексте - C#

Узнай цену своей работы

Формулировка задачи:

Ошибка 2 Элемент "CreateBookInfoList" не существует в текущем контексте.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication6
{
       
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            bookInfoList = CreateBookInfoList();
            Bind();
            BindingManager.PositionChanged += new EventHandler(BindingManager_PositionChanged);
            RefreshData();
        }
    
        private BookInfo CreateBookInfo()
           {
            BookInfo bookInfo = new BookInfo();
            bookInfo.Author = "Том Клэнси";
            bookInfo.Title = "Игры патриотов";
            bookInfo.xxx = "5-699-18175-Х";
            bookInfo.PageCount = 706;
            bookInfo.Publisher = "ЭКСМО";
            return bookInfo;
           }
 
        private void Bind()
        {
            textBox1.DataBindings.Add("Text", bookInfoList, "Author", true);
            textBox2.DataBindings.Add("Text", bookInfoList, "Title");
            textBox3.DataBindings.Add("Text", bookInfoList, "xxx");
            textBox4.DataBindings.Add("Text", bookInfoList, "PageCount");
            textBox5.DataBindings.Add("Text", bookInfoList, "Publisher");
          }
 
        private BindingManagerBase BindingManager
           {
             get
               {
                return BindingContext[bookInfoList];
               }
           }
 
        private void BindingManager_PositionChanged(object sender, EventArgs e)
           {
            RefreshData();
           }
 
        private void button1_Click(object sender, EventArgs e)
           {
            BindingManager.Position = 0;
            RefreshData();
           }
 
        private void button2_Click(object sender, EventArgs e)
            {
             BindingManager.Position--;
             RefreshData();
            }
 
        private void button3_Click(object sender, EventArgs e)
            {
             BindingManager.Position++;
             RefreshData();
            }
 
        private void moveLastButton_Click(object sender, EventArgs e)
            {
             BindingManager.Position = BindingManager.Count - 1;
             RefreshData();
            }
 
        private void RefreshData()
            {
             int count = BindingManager.Count;
             int position = BindingManager.Position + 1;
 
             label2.Text = count.ToString();
             label1.Text = position.ToString();
             button1.Enabled = position > 1;
             button2.Enabled = position > 1;
             button3.Enabled = position < count;
             button4.Enabled = position < count;
            }
  private List<BookInfo> bookInfoList;
}
   
    class BookInfo
    {
        public string Author { get; set; }
        public string Title { get; set; }
        public string xxx { get; set; }
        public int PageCount { get; set; }
        public string Publisher { get; set; }
    }
 
 }
WindowsFormsApplication6.rar

Решение задачи: «Простая привязка данных к списку объектов. Ошибка "CreateBookInfoList" не существует в текущем контексте»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private BookInfo bookInfo;
        private BookInfo bookInfo2;
        private List<BookInfo> bookInfoList;
 
        public Form1()
        {
            InitializeComponent();
            bookInfo = CreateBookInfo();
            bookInfo2 = CreateBookInfo2();
            bookInfoList = new List<BookInfo>();
            bookInfoList.Add(bookInfo);
            bookInfoList.Add(bookInfo2);
            Bind();
            BindingManager.PositionChanged += new EventHandler(BindingManager_PositionChanged);
            button1.Click+=new EventHandler(button1_Click);
            button2.Click+=new EventHandler(button2_Click);
            button3.Click+=new EventHandler(button3_Click);
            button4.Click+=new EventHandler(button4_Click);
            RefreshData();
        }
 
        private BookInfo CreateBookInfo()
        {
            BookInfo bookInfo = new BookInfo();
            bookInfo.Author = "Том Клэнси";
            bookInfo.Title = "Игры патриотов";
            bookInfo.ISBN = "5-699-18175-Х";
            bookInfo.PageCount = 706;
            bookInfo.Publisher = "ЭКСМО";
            return bookInfo;
        }
        private BookInfo CreateBookInfo2()
        {
            BookInfo bookInfo2 = new BookInfo();
            bookInfo2.Author = "Том Клэнси";
            bookInfo2.Title = "Red rabbit";
            bookInfo2.ISBN = "5-699-18175-Х";
            bookInfo2.PageCount = 756;
            bookInfo2.Publisher = "ЭКСМО";
            return bookInfo2;
        }
        private void Bind()
        {
            Binding authorBinding = new Binding("Text", bookInfoList, "Author", true);
            textBox1.DataBindings.Add(authorBinding);
            textBox2.DataBindings.Add("Text", bookInfoList, "Title");
            textBox3.DataBindings.Add("Text", bookInfoList, "ISBN");
            textBox4.DataBindings.Add("Text", bookInfoList, "PageCount");
            textBox5.DataBindings.Add("Text", bookInfoList, "Publisher");
        }
 
        private BindingManagerBase BindingManager
           {
             get
               {
                return BindingContext[bookInfoList];
               }
           }
 
        private void BindingManager_PositionChanged(object sender, EventArgs e)
           {
            RefreshData();
           }
 
        private void button1_Click(object sender, EventArgs e)
           {
            BindingManager.Position = 0;
            RefreshData();
           }
 
        private void button2_Click(object sender, EventArgs e)
            {
             BindingManager.Position--;
             RefreshData();
            }
 
        private void button3_Click(object sender, EventArgs e)
            {
             BindingManager.Position++;
             RefreshData();
            }
 
        private void button4_Click(object sender, EventArgs e)
            {
             BindingManager.Position = BindingManager.Count - 1;
             RefreshData();
            }
 
        private void RefreshData()
            {
             int count = BindingManager.Count;
             int position = BindingManager.Position + 1;
 
             label2.Text = count.ToString();
             label1.Text = position.ToString();
             button1.Enabled = position > 1;
             button2.Enabled = position > 1;
             button3.Enabled = position < count;
             button4.Enabled = position < count;
            } 
 
    }
 
    class BookInfo
    {
        public string Author { get; set; }
        public string Title { get; set; }
        public string ISBN { get; set; }
        public int PageCount { get; set; }
        public string Publisher { get; set; }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы