Forráskód Böngészése

Блокировка кнопки вход

Alec 3 éve
szülő
commit
54ce8e42c7

+ 4 - 1
WPF01/MainWindow.xaml.cs

@@ -12,6 +12,7 @@ using System.Windows.Media;
 using System.Windows.Media.Imaging;
 using System.Windows.Navigation;
 using System.Windows.Shapes;
+using mylib;
 
 namespace WPF01
 {
@@ -32,11 +33,13 @@ namespace WPF01
 			PageNavigation.mainWindow = this;
 
             MainFrame.Navigate(PageNavigation.authorization);
+
+			MyClass.Sum(34, 45);
         }
 
 		private void Label_MouseUp(object sender, MouseButtonEventArgs e)
 		{
-			MainFrame.Navigate(PageNavigation.userInfo);
+			MainFrame.Navigate(new pages.UserInfo());
 		}
 	}
 }

+ 6 - 0
WPF01/WPF01.csproj

@@ -193,5 +193,11 @@
   <ItemGroup>
     <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\mylib\mylib.csproj">
+      <Project>{64e83180-e4a7-4ee1-bd1c-91afa789f0f8}</Project>
+      <Name>mylib</Name>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 </Project>

+ 6 - 0
WPF01/WPF01.sln

@@ -5,6 +5,8 @@ VisualStudioVersion = 15.0.28307.1267
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPF01", "WPF01.csproj", "{96E14570-D115-4C9F-8233-E3BDD44F0DE9}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mylib", "..\mylib\mylib.csproj", "{64E83180-E4A7-4EE1-BD1C-91AFA789F0F8}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -15,6 +17,10 @@ Global
 		{96E14570-D115-4C9F-8233-E3BDD44F0DE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{96E14570-D115-4C9F-8233-E3BDD44F0DE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{96E14570-D115-4C9F-8233-E3BDD44F0DE9}.Release|Any CPU.Build.0 = Release|Any CPU
+		{64E83180-E4A7-4EE1-BD1C-91AFA789F0F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{64E83180-E4A7-4EE1-BD1C-91AFA789F0F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{64E83180-E4A7-4EE1-BD1C-91AFA789F0F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{64E83180-E4A7-4EE1-BD1C-91AFA789F0F8}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 31 - 0
WPF01/pages/Authorization.xaml.cs

@@ -4,6 +4,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using System.Windows;
+using System.Timers;
 using System.Windows.Controls;
 using System.Windows.Data;
 using System.Windows.Documents;
@@ -22,9 +23,27 @@ namespace WPF01.pages
     /// </summary>
     public partial class Authorization : Page
     {
+
+		// Количество неверно веденного пароля
+		int count = 0;
+
+		Timer timer = new Timer();
+
         public Authorization()
         {
             InitializeComponent();
+
+            timer.Interval = 5000;
+            timer.Elapsed += new ElapsedEventHandler(Timeout);
+        }
+
+        void Timeout(object sender, ElapsedEventArgs e)
+        {
+            Dispatcher.Invoke(new Action(() =>
+            {
+                buttonLogin.IsEnabled = true;
+                timer.Stop();
+            }));
         }
 
         private void ButtonClick(object sender, RoutedEventArgs e)
@@ -32,6 +51,11 @@ namespace WPF01.pages
             string login = textBoxLogin.Text;
             string password = textBoxPassword.Password;
 
+            if (login.Length < 4 || password.Length < 4)
+            {
+                return;
+            }
+
             IQueryable<Manager> man = Database.Context.Manager.Where(
                 m => m.Login == login && m.Password == password);
 
@@ -39,6 +63,13 @@ namespace WPF01.pages
             if (Database.User == null)
             {
                 MessageBox.Show("Неверный логин/пароль");
+				count++;
+
+				if (count >= 3)
+				{
+					buttonLogin.IsEnabled = false;
+					timer.Start();
+				}
                 return;
             }
 

+ 1 - 1
WPF01/pages/Registration.xaml

@@ -10,7 +10,7 @@
 
     <Grid>
         <StackPanel HorizontalAlignment="Left" Margin="10,10,0,0" Width="180" Height="400" VerticalAlignment="Top">
-            <Label Content="Логин"/>
+            <Label Content="Логин" FontFamily="Tahoma"/>
             <TextBox x:Name="loginTextBox" Height="23"/>
             <Label Content="Пароль"/>
             <PasswordBox x:Name="passwordBox" Height="23"/>