Hallo
ich habe in meiner Anwendung eine Class, in der lagern 3 Sturcturs im ersten wird eine Liste vom Zweiten generiert und in dem wiederum eine liste vom Dritten.
nun gib ich von der Form an die Class einen Wert, die gibt den wert dann weiter an den Structur, der gibt ein teil der werte weiter. dort wird wieder einteil der Informationen an den 3. weiter gegeben.
wenn ich das alles auswerte, dann hat sich der wert aber nicht geändert ... hat jm. eine Idee?
Code ...
Spoiler anzeigen
Spoiler anzeigen
ich habe in meiner Anwendung eine Class, in der lagern 3 Sturcturs im ersten wird eine Liste vom Zweiten generiert und in dem wiederum eine liste vom Dritten.
nun gib ich von der Form an die Class einen Wert, die gibt den wert dann weiter an den Structur, der gibt ein teil der werte weiter. dort wird wieder einteil der Informationen an den 3. weiter gegeben.
wenn ich das alles auswerte, dann hat sich der wert aber nicht geändert ... hat jm. eine Idee?
Code ...
C#-Quellcode
- public partial class ManagerTeacher : Form
- {
- public ManagerTeacher()
- {
- InitializeComponent();
- }
- private teacher tc;
- private void ManagerTeacher_Load(object sender, EventArgs e)
- {
- tc = new teacher();
- nu_lession.Maximum = 10;
- nu_lession.Value = 1;
- cb_gender.Items.AddRange(teacher.getGender());
- cb_gender.SelectedIndex = 0;
- cb_lessionstate.Items.AddRange(teacher.getLessioState());
- cb_lessionstate.SelectedIndex = 0;
- cb_day.Items.AddRange(teacher.getDaysOfWeekStrg());
- cb_day.SelectedIndex = 0;
- cb_lessionstate.SelectedIndexChanged += new EventHandler(cb_lessionstate_SelectedIndexChanged);
- cb_day.SelectedIndexChanged += new EventHandler(cb_lessionstate_SelectedIndexChanged);
- nu_lession.ValueChanged += new EventHandler(cb_lessionstate_SelectedIndexChanged);
- ls_timetable.Columns.Add(new ColumnHeader() { Text = "Hour" });
- ls_timetable.Columns.AddRange(teacher.getDaysOfWeekStrg().Select(x => new ColumnHeader() { Text = x }).ToArray());
- setListView();
- }
- private int lastNum;
- private void cb_lessionstate_SelectedIndexChanged(object sender, EventArgs e)
- {
- int state = cb_lessionstate.SelectedIndex;
- int hour = (int)nu_lession.Value - 1;
- int day = cb_day.SelectedIndex;
- tc.setDayLession(day, hour, state);
- if (hour == 9 && lastNum == 8 && day < teacher.getDaysOfWeekStrg().Length-1)
- {
- nu_lession.Value = 1;
- cb_day.SelectedIndex = day + 1;
- }
- if(hour == 0 && lastNum == 1 && day > 0)
- {
- nu_lession.Value = 10;
- cb_day.SelectedIndex = day - 1;
- }
- if (sender is ComboBox)
- if (((ComboBox)sender).Name == cb_lessionstate.Name)
- nu_lession.Value = (hour + 2);
- lastNum = hour;
- setListView();
- }
- private void setListView()
- {
- List<teacher.Day> days = tc.getDays();
- Func<int, string[]> getListView = (hour) => new string[6].Select((x, n) => n == 0
- ? (hour+1).ToString()
- : days[n - 1].getLessions()[hour].getState().ToString()).ToArray();
- ls_timetable.Items.Clear();
- ls_timetable.Items.AddRange(new ListViewItem[10].Select(((x, n) => new ListViewItem(getListView(n)))).ToArray());
- }
- }
C#-Quellcode
- public class teacher
- {
- private List<Day> days;
- public enum LessionState
- {
- In_class, Available
- }
- }
- public struct Day
- {
- public DayOfWeek today { get; private set; }
- private List<Lession> lessions;
- public Day(DayOfWeek day)
- {
- today = day;
- lessions = new Lession[10].Select((x, n) => new Lession(n)).ToList();
- }
- public void setTeachLessionAt(int index, string teach)
- {
- lessions[index].setTeach(teach);
- }
- public void setLessionStateAt(int index, LessionState state)
- {
- lessions[index].setState(state);
- }
- public List<Lession> getLessions()
- {
- return lessions;
- }
- }
- public struct Lession
- {
- public int hour { get; private set; }
- private LessionState lessionstate;
- public string teach { get; set; }
- public Lession(int hour)
- {
- this.hour = hour;
- lessionstate = LessionState.Available;
- teach = string.Empty;
- }
- public void setTeach(string teach)
- {
- this.teach = teach;
- }
- public void setState(LessionState state)
- {
- lessionstate = state;
- }
- public LessionState getState()
- {
- return lessionstate;
- }
- }
- public teacher()
- {
- days = new Day[5].Select((x, n) => new Day(getDaysOfWeek()[n])).ToList();
- }
- public void setDayLession(int day, int lession,int state)
- {
- LessionState stateL = (LessionState)Enum.Parse(typeof(LessionState), state.ToString());
- days[day].setLessionStateAt(lession, stateL);
- }
- public bool DayExist(Day today)
- {
- return days.Exists(x => x.today == today.today);
- }
- public List<Day> getDays()
- {
- return days;
- }
- public static string[] getLessioState()
- {
- return Enum.GetNames(typeof(LessionState)).Select(x => x.Replace('_', ' ')).ToArray();
- }
- public static string[] getDaysOfWeekStrg()
- {
- return getDaysOfWeek().Select(x => x.ToString()).ToArray();
- }
- private static DayOfWeek[] getDaysOfWeek()
- {
- DayOfWeek[] week = (DayOfWeek[])Enum.GetValues(typeof(DayOfWeek));
- return new DayOfWeek[5].Select((x,n) => week[n +1]).ToArray();
- }
- }
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Facebamm“ ()