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"?? 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.
>
>
>
_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to