Hi No if I run that code - and I am presented with the MainForm form, when I hit the close button on the top of the form - the application is still running in the background. If I try to close the Log_In form programatically, instead of just hiding it, the whole application closes - without letting me go the MainForm form. So not to sure how to accomplish this - have spent quite a lot of time on the net trying to get the answer - to no avail. Hope that you'll be able to resolve this issue for me, as I'm stuck in my project, until I can get this right!
Regards Anthony On Mon, Jun 14, 2010 at 12:03 PM, Michael Foord <fuzzy...@voidspace.org.uk>wrote: > On 14/06/2010 08:53, Anthony wrote: > > Hi Michael > > Sorry for the late reply - only got back to my email this morning :-) > I tried to close the form - but when doing that - the whole application > closed - I think this was mainly due to the fact that that form was seen as > the "main form"?? > > > I thought closing the whole application was what you wanted to do? In your > original email you asked: > > > The program runs fine - except that when I close the MainForm form - > the application is still running. I know it's because a login.py object is > hidden. What I'm asking is how construct the programming in such a way that > this does not happen - that when the second form is closed - the application > closes; > > So now the application closing is a problem? > > All the best, > > Michael > > > > Sorry about this real noob question - but I'm just starting out - and this > is very frustrating for me, I know it's probably something stupid that I'm > doing! Let me post my code here - and see what you can see! > Here is my code > > Program.py > import clr > clr.AddReference('System.Windows.Forms') > clr.AddReference('System.Drawing') > #clr.AddReference('System.Data.SQLite') > #clr.AddReference('Ironpython') > #clr.AddReference('System.Security.Policy') > from System.Security.Policy import Hash > from System.Data.SQLite import * > import sys > sys.path.append("C:\Python26\Lib") > sys.path.append("C:\Program Files\IronPython 2.6\Lib") > from System.Windows.Forms import Application > > import Log_In > import MainForm > import sqlite3 > > > Application.EnableVisualStyles() > #form = MainForm.Log_In() > form = Log_In.Log_In() > Application.Run(form) > > > ********************************************** > > > > Log_In.py > > > import System.Drawing > import System.Windows.Forms > > from System.Drawing import * > from System.Windows.Forms import * > import MainForm > #import sqlite3 > > #import System.Data.SQLite > > > > class Log_In(Form): > def __init__(self): > self.InitializeComponent() > > def InitializeComponent(self): > self._label1 = System.Windows.Forms.Label() > self._txt_Login = System.Windows.Forms.TextBox() > self._label2 = System.Windows.Forms.Label() > self._txt_pwd = System.Windows.Forms.MaskedTextBox() > self._bt_login = System.Windows.Forms.Button() > self._bt_cancel = System.Windows.Forms.Button() > self.SuspendLayout() > # > # label1 > # > self._label1.Location = System.Drawing.Point(40, 116) > self._label1.Name = "label1" > self._label1.Size = System.Drawing.Size(107, 25) > self._label1.TabIndex = 0 > self._label1.Text = "Login Name" > self._label1.TextAlign = > System.Drawing.ContentAlignment.MiddleCenter > # > # txt_Login > # > self._txt_Login.Location = System.Drawing.Point(173, 121) > self._txt_Login.Name = "txt_Login" > self._txt_Login.Size = System.Drawing.Size(160, 20) > self._txt_Login.TabIndex = 1 > self._txt_Login.Text = "cc" > self._txt_Login.TextChanged += self.Txt_LoginTextChanged > # > # label2 > # > self._label2.Location = System.Drawing.Point(40, 174) > self._label2.Name = "label2" > self._label2.Size = System.Drawing.Size(107, 22) > self._label2.TabIndex = 2 > self._label2.Text = "Password" > self._label2.TextAlign = > System.Drawing.ContentAlignment.MiddleCenter > # > # txt_pwd > # > self._txt_pwd.Location = System.Drawing.Point(173, 174) > self._txt_pwd.Name = "txt_pwd" > self._txt_pwd.PasswordChar = "*" > self._txt_pwd.Size = System.Drawing.Size(160, 20) > self._txt_pwd.TabIndex = 3 > # > # bt_login > # > self._bt_login.Location = System.Drawing.Point(85, 252) > self._bt_login.Name = "bt_login" > self._bt_login.Size = System.Drawing.Size(164, 41) > self._bt_login.TabIndex = 4 > self._bt_login.Text = "Login" > self._bt_login.UseVisualStyleBackColor = True > self._bt_login.Click += self.Bt_loginClick > # > # bt_cancel > # > self._bt_cancel.Location = System.Drawing.Point(346, 255) > self._bt_cancel.Name = "bt_cancel" > self._bt_cancel.Size = System.Drawing.Size(165, 37) > self._bt_cancel.TabIndex = 5 > self._bt_cancel.Text = "Cancel" > self._bt_cancel.UseVisualStyleBackColor = True > self._bt_cancel.Click += self.Bt_cancelClick > # > # Log_In > # > self.AcceptButton = self._bt_login > self.ClientSize = System.Drawing.Size(649, 401) > self.Controls.Add(self._bt_cancel) > self.Controls.Add(self._bt_login) > self.Controls.Add(self._txt_pwd) > self.Controls.Add(self._label2) > self.Controls.Add(self._txt_Login) > self.Controls.Add(self._label1) > self.Name = "Log_In" > self.Text = """ <summary> > Description of Class1. > </summary> > """ > self.ResumeLayout(False) > self.PerformLayout() > > > def Bt_loginClick(self, sender, e): > MsgBox = System.Windows.Forms.MessageBox > > if self._txt_Login.Text == "test" and self._txt_pwd.Text == "test": > #MsgBox.Show("Welcome to the Wonderful World of Visual Basic") > MF = mf() > MF.Show() > MF.Activate() > MF.Select() > self.Hide() > #MF.SetTopLevel = "True" > else: > MsgBox.Show("UserName Or Password Incorrect") > > #pass > > def Txt_LoginTextChanged(self, sender, e): > pass > > def Bt_cancelClick(self, sender, e): > self.Close() > > class mf(MainForm.MainForm): > pass > #conn = sqlite3.connect(r"c:\tester.sqlite") > #c = conn.cursor() > #c.execute("""insert into test values (Null,'Bozz11','Crazyman11')""") > #conn.commit() > #c.close() > > > > class encrypt_a(object): > > def EncryptString(self, strEncrypted): > b = System.Text.ASCIIEncoding.ASCII.GetBytes(strEncrypted) > encryptedConnectionString = System.Convert.ToBase64String(b) > return encryptedConnectionString > > def __init__(self): > pass > > class decrypt_a(object): > > def DecryptString(self, encrString): > b = System.Convert.FromBase64String(encrString) > decryptedConnectionString = > System.Text.ASCIIEncoding.ASCII.GetString(b) > return decryptedConnectionString > > #ac = "Anthony" > #cc = encrypt_a().EncryptString(ac) > #cca = Log_In()._txt_Login.Text = "tett > > > > > ******************************************************************************* > > MainForm.py > > > import System.Drawing > import System.Windows.Forms > > from System.Drawing import * > from System.Windows.Forms import * > import Log_In > > > > > class MainForm(Form): > def __init__(self): > #pass > > self.InitializeComponent() > > > def InitializeComponent(self): > #xx.Close() > self._textBox1 = System.Windows.Forms.TextBox() > self.SuspendLayout() > # > # textBox1 > # > self._textBox1.Location = System.Drawing.Point(129, 101) > self._textBox1.Name = "textBox1" > self._textBox1.Size = System.Drawing.Size(231, 20) > self._textBox1.TabIndex = 0 > # > # MainForm > # > self.ClientSize = System.Drawing.Size(503, 356) > self.Controls.Add(self._textBox1) > self.Name = "MainForm" > self.Text = "HS&E" > self.Load += self.MainFormLoad > self.ResumeLayout(False) > #self.PerformLayout() > #self.OnFormClosing(Application.Exit()) > > > > > > > def MainFormLoad(self, sender, e): > pass > > > > > Hope you can help out with this! > > > > > > > > > > On Sun, Jun 13, 2010 at 1:52 AM, Michael Foord > <fuzzy...@voidspace.org.uk>wrote: > >> On 12/06/2010 16:22, Anthony wrote: >> >> Hi All >> >> Just to state - I'm a real newbie to programming & ironpython >> I have an application that has 2 forms. The application gets started in >> the progam.py module(btw i'm using #develop). This calls another module - >> login.py. This is a login form which validates user names/passwords. Once >> this is validated I *hide* the form and call the second module - >> MainForm.py. The program runs fine - except that when I close the MainForm >> form - the application is still running. I know it's because a login.py >> object is hidden. What I'm asking is how construct the programming in such a >> way that this does not happen - that when the second form is closed - the >> application closes; or is there a better way to do this? >> >> >> How about closing the login form instead of hiding it? Another way is to >> handle the Closing event on your main form and close the login form then. >> You can also call Application.Exit() (I believe - this is off the top of my >> head so you should check) to exit the GUI event loop. >> >> All the best, >> >> Michael >> >> >> Regards >> >> Anthony >> >> >> _______________________________________________ >> Users mailing >> listus...@lists.ironpython.comhttp://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> >> >> >> -- http://www.ironpythoninaction.com/http://www.voidspace.org.uk/blog >> >> READ CAREFULLY. By accepting and reading this email you agree, on behalf of >> your employer, to release me from all obligations and waivers arising from >> any and all NON-NEGOTIATED agreements, licenses, terms-of-service, >> shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, >> non-compete and acceptable use policies (”BOGUS AGREEMENTS”) that I have >> entered into with your employer, its partners, licensors, agents and >> assigns, in perpetuity, without prejudice to my ongoing rights and >> privileges. You further represent that you have the authority to release me >> from any BOGUS AGREEMENTS on behalf of your employer. >> >> >> >> > > > -- http://www.ironpythoninaction.com/http://www.voidspace.org.uk/blog > > READ CAREFULLY. By accepting and reading this email you agree, on behalf of > your employer, to release me from all obligations and waivers arising from > any and all NON-NEGOTIATED agreements, licenses, terms-of-service, > shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, > non-compete and acceptable use policies (”BOGUS AGREEMENTS”) that I have > entered into with your employer, its partners, licensors, agents and assigns, > in perpetuity, without prejudice to my ongoing rights and privileges. You > further represent that you have the authority to release me from any BOGUS > AGREEMENTS on behalf of your employer. > > >
_______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com