using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Timers; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Windows.Threading; namespace Live_Scoring_V1 { /// /// Interaction logic for Test.xaml /// public partial class Test : Page { //private Dictionary dict = new Dictionary(); DispatcherTimer dt; public Test() { InitializeComponent(); Score SC = new Score(); SC.SetScore(3297); } private void YellowPlayer_clicked(object sender, MouseButtonEventArgs e) { Grid button = (Grid)sender; bool Proceed = GetChildren(button,1,1); int UserID = Int32.Parse(button.Uid); if (Proceed) { MessageBox.Show("Proceed Now"); } } private static bool GetChildren(Grid grid, int row, int column) { bool Elmen =false ; foreach (UIElement child in grid.Children) { //if (Grid.GetRow(child) == row && Grid.GetColumn(child) == column) //{ string type = Convert.ToString(child.GetType()); //string Name = child.GetValue(TextBlock.NameProperty) as string; if (Grid.GetRow(child) == row) { Grid innerGrid = (Grid)child; foreach (UIElement elm in innerGrid.Children) { if (Grid.GetColumn(elm) == column) { TextBlock Text = (TextBlock)elm; string UID = Text.Uid.ToString(); if (UID=="Return") { Elmen = true; } } } } } return Elmen; } public Dictionary dict = new Dictionary(); int n = 1; int timesec = 20; private void CreateTimers() { DispatcherTimer timer = new DispatcherTimer(); timer.Tick += timer_Ticke; //timer.Elapsed += new EventHandler(timer_Tick); timer.Interval = new TimeSpan(0, 0,1 ); int UserID = 12; Grid Maingrd = new Grid(); //Maingrd.MouseDown += new MouseButtonEventHandler(YellowPlayer_clicked); Maingrd.Uid = UserID.ToString(); Maingrd.Margin = new Thickness(10, 30, 0, 20); Maingrd.Background = Brushes.Yellow; RowDefinition row1 = new RowDefinition(); RowDefinition row2 = new RowDefinition(); row1.Height = new GridLength(40); row2.Height = new GridLength(40); Maingrd.RowDefinitions.Add(row1); Maingrd.RowDefinitions.Add(row2); //Add Text TextBlock Title = new TextBlock(); Title.Text = "Yellow Card"; Title.FontSize = 14; Title.FontWeight = FontWeights.Bold; Title.TextAlignment = TextAlignment.Center; Title.VerticalAlignment = VerticalAlignment.Center; Title.Margin = new Thickness(10); Grid GRD = new Grid(); Grid.SetRow(Title, 0); Grid.SetRow(GRD, 1); Maingrd.Children.Add(Title); Maingrd.Children.Add(GRD); ColumnDefinition Col1 = new ColumnDefinition(); ColumnDefinition Col2 = new ColumnDefinition(); Col1.Width = new GridLength(45); Col2.Width = new GridLength(65); GRD.ColumnDefinitions.Add(Col1); GRD.ColumnDefinitions.Add(Col2); TextBlock Number = new TextBlock(); Number.Text = "11"; Number.FontSize = 18; Number.FontWeight = FontWeights.Bold; Number.TextAlignment = TextAlignment.Center; Number.VerticalAlignment = VerticalAlignment.Center; TextBlock Timm = new TextBlock(); Timm.FontSize = 50; Timm.FontSize = 18; Timm.FontWeight = FontWeights.Bold; Timm.TextAlignment = TextAlignment.Center; Timm.VerticalAlignment = VerticalAlignment.Center; Timm.Uid = "None"; Timm.Name =Convert.ToString( "Sec_"+timesec); int min = timesec / 60; int sec = timesec % 60; if (min < 10 && sec < 10) { Timm.Text = string.Format("0{0}:0{1}", min, sec); } else if (min < 10 && sec > 9) { Timm.Text = string.Format("0{0}:{1}", min, sec); } else if (min > 9 && sec < 10) { Timm.Text = string.Format("{0}:0{1}", min, sec); } else if (min > 9 && sec > 9) { Timm.Text = string.Format("{0}:{1}", min, sec); } Border BRD = new Border(); BRD.BorderBrush = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#999")); BRD.BorderThickness = new Thickness(0, 0, 1, 0); BRD.Child = Number; Grid.SetColumn(BRD, 0); Grid.SetColumn(Timm, 1); GRD.Children.Add(BRD); GRD.Children.Add(Timm); MyTimers.Children.Add(Maingrd); dict[timer] = Timm; timer.Start(); } private void Button_Click(object sender, RoutedEventArgs e) { CreateTimers(); n++; } private void timer_Ticke(object sender, EventArgs e) { DispatcherTimer t = (DispatcherTimer)sender; TextBlock l = dict[t]; int labelTime = 0; string Name = l.Name; var Splitter = Name.Split('_'); if (Int32.TryParse(Splitter[1], out labelTime)) { labelTime -= 1; } l.Name = Convert.ToString("Sec_" + labelTime); if (labelTime == 0) { l.Uid = "Return"; t.Stop(); } int time =Int32.Parse (Splitter[1])-1; int min = time / 60; int sec = time % 60; if (time % 2 == 0) { l.Foreground = Brushes.Red; } else { l.Foreground = Brushes.White; } if (min < 10 && sec < 10) { l.Text = string.Format("0{0}:0{1}", min, sec); } else if (min < 10 && sec > 9) { l.Text = string.Format("0{0}:{1}", min, sec); } else if (min > 9 && sec < 10) { l.Text = string.Format("{0}:0{1}", min, sec); } else if (min > 9 && sec > 9) { l.Text = string.Format("{0}:{1}", min, sec); } } } internal class Dictionary { } }