|
That helped out alot
unfortunately, my findwindow call always returns 0.. That is, when I output it in a messagebox by converting it to a string. How do you put NULL into a string?
[DllImport("user32")]
public static extern System.IntPtr FindWindow(string lpClassName, string lpWindowCaption);
How it's declared..
|
|
|
|
|
I implement ::FindWindow in this[^]article.
if you start putting in too manay features, it no longer remains useful for beginners
quote in a CP article comment, shiraz baig
|
|
|
|
|
Raiko wrote:
How it's declared..
[DllImport("user32")]
public static extern System.IntPtr FindWindow(int makemezero, string lpWindowCaption);
NULL = 0, not null
Give them a chance! Do it for the kittens, dear God, the kittens!
As seen on MS File Transfer: Please enter an integer between 1 and 2.
|
|
|
|
|
|
There is no tool as far as I know (someone from MS responded this in a public MS NG).
But it's an interesting challenge. After all, controls declared in the .rc file must be mapped to C# code. For the set of common controls, I guess it should be easy to do it. The only issue is about dialog units, and stuff like that.
Sh*t...another item in my tasklist..
if you start putting in too manay features, it no longer remains useful for beginners
quote in a CP article comment, shiraz baig
|
|
|
|
|
Does anyone know if this value is where your executable will be installed from an install package. I need to be able to reference a database that will be packaged with the setup and want to make sure the connection string points to the proper location. Right now I am testing in Debug mode and so of course the value that Application.StartupPath.ToString(); returns in inside the Debug subfolder. Does this change with a release version build?
Nick Parker
The goal of Computer Science is to build something that will last at least until we've finished building it. - Unknown
|
|
|
|
|
|
how to use it OutputDebugString ?
or its equvalient method in dot net?
r00d0034@yahoo.com
|
|
|
|
|
Look at System.Diagnostics.Debug
In particular the WriteLine method.
Paul
|
|
|
|
|
Hi Code Gurus,
(in a C# Windows Form application) How can I access a public member of the form that defines the static Main() member function from another form? I have two forms, frmMain (defind in frmamin.cs) and frmDialog (defined in frmDialog.cs), I want to access a member of frmMain (a property or a function or whatever member) from within frmDialog. When the application runs, the frmMain form is displayed as the application's main window, if the user chooses Connect... from the application's menu, the other form frmDialog is displayed as a dialog using ShowDialog(), now what I want is to access some member fields of frmMain from within frmDialog while frmDialog is displayed as a dialog box (that was extremely easy in VB).
Well, to be more specific, what I want to do exactly is to enable the user to connect to a database, when the user selects Connect... from the menu, a dialog box is displayed to allow the user to enter the database connection information. There is an OleDBConnection object (public member), defined in frmMain, that I want to use in frmDialog (there is a button in frmDialog whose caption is "Connect"). In the event handler of that button I want to use the public member of frmMain (System.Data.OleDB.OleDBConnection m_OleDBConn). For example like this:
myfrmMain.m_OleDBConn.ConnectionString = ... etc
Regards,
Waleed
(a.k.a. Wal2k) www.wal2k.com
|
|
|
|
|
Hi again
Waleed wrote:
that was extremely easy in VB
Even easier in C#
define a construtor for the dialogform that takes a parameter of the same type as your mainform. IOW:
public class DialogForm : Form
{
private MainForm parent;
...
public DialogForm(MainForm parent)
{ this.parent = parent;}
...
void SomeFunction(){
parent.OleDbConnection.Connect();
}
}
Thats it Also , dont make OleDbCOnnection public , but rather create a Property for it.
Give them a chance! Do it for the kittens, dear God, the kittens!
|
|
|
|
|
Well, actually I've done this (another way I used was to move Main() to a startup class and define a static member of the main form) but I was wondering whether we can do it the VB way:
in Form2
Form1.MyMethod()
(a.k.a. Wal2k) www.wal2k.com
|
|
|
|
|
Waleed wrote:
another way I used was to move Main() to a startup class and define a static member of the main form
I guess you can do this , although some peolpe might not agree to having a static member on a form.
RE: Properties, thats just way MS wants it . A property is basically just a get/set function() for a private member. Again, its not strictly required, but rather recommended.
Give them a chance! Do it for the kittens, dear God, the kittens!
As seen on MS File Transfer: Please enter an integer between 1 and 2.
|
|
|
|
|
That was the VB6 way, you can't do that anymore under VB.NET or C#. It's part of the whole OOP thing...
Norm Almond: I seen some GUI's in my life but WTF is this mess
Leppie: I made an app for my sister and she wouldnt use it till it was colorful enough
Norm:good point leppie, from that statement I can only deduce that this GUI must be aimed at children
Leppie:My sister is 25
-Norm on the MailMagic GUI
|
|
|
|
|
Waleed wrote:
Form1.MyMethod()
IMNSHO, I always considered that a BAD thing to do; instead you should have created an instance of Form1 and passed that to Form2.
If you didn't create an instance of it, you can only use the window once; which is a pain when you are showing inter-related data and the same window needs to be used twice.
James
Sig code stolen from David Wulff
|
|
|
|
|
Funny sig!
Norm Almond: I seen some GUI's in my life but WTF is this mess
Leppie: I made an app for my sister and she wouldnt use it till it was colorful enough
Norm:good point leppie, from that statement I can only deduce that this GUI must be aimed at children
Leppie:My sister is 25
-Norm on the MailMagic GUI
|
|
|
|
|
Thanks, I was cleaning the root of my C drive when I came across my quotes.txt file so I just had to share that one
James
Sig code stolen from David Wulff
|
|
|
|
|
BTW, why not to make OleDBConnection public?
(a.k.a. Wal2k) www.wal2k.com
|
|
|
|
|
Hi Code Gurus,
(in a C# Windows Form application) How can I detect that the Enter key was pressed in a single line TextBox control in .NET? I want to enable the user to type in some text in the TextBox (a command) then by pressing Enter an action is taken (like the address bar in IE). This can be done very easily in VB and VC++. But in .NET, the only way I discovered so far is to use a multi-line textbox control and detect when the user presses Enter (using either KeyDown or KeyPress events) then remove the new line characters from the text, this is other than deleting any multine text pasted in the control except the first line. I believe there must be a better and more elegant way to do this but I just don't know it!
Regards,
Waleed
(a.k.a. Wal2k) www.wal2k.com
|
|
|
|
|
Hi
See my post below about overriding and event for a button. Now all you will need to do is override the OnKeyDown Method.
protected override void OnKeyDown(KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
else base.OnKeyDown(e);
}
This way you ensure that the Enter key was properly captured and not passed onto the base class aka TextBox.
Hope this help
Give them a chance! Do it for the kittens, dear God, the kittens!
|
|
|
|
|
Thanks a lot, I'm going to try this out.
(a.k.a. Wal2k) www.wal2k.com
|
|
|
|
|
Three things:
1) Keys.Enter and Keys.Return are two seperate things.
2) Do you have an AcceptButton set up for the form (what used to be called the Default Button)?
If so, you'll never get the KeyDown event, even the way leppie describes, because the AcceptButton's Click event is executed first.
If not, why don't you set up an AcceptButton? (go to the form's properties, find AcceptButton and drop down a list of buttons)
3) If you must and can use the KeyDown event, handle it, don't override it. eg.
private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Return || e.KeyCode == Keys.Enter)
{
e.Handled = true;
}
}
Paul
|
|
|
|
|
Paul Riley wrote:
e.Handled = true;
I probably wont even remeber this I'm so tired . Nice tip!
Give them a chance! Do it for the kittens, dear God, the kittens!
As seen on MS File Transfer: Please enter an integer between 1 and 2.
|
|
|
|
|
Well, System.Windows.Forms.Keys.Enter and System.Windows.Forms.Keys.Return are equal, both of them equal 13 (I checked that myself, just cast them to an integer and display the value in a message box) Actually, I don't know why Microsoft provide both of them.
(a.k.a. Wal2k) www.wal2k.com
|
|
|
|
|
Waleed wrote:
System.Windows.Forms.Keys.Enter and System.Windows.Forms.Keys.Return are equal
You're right, which is odd because the first time I coded it as Keys.Enter and it didn't work, so I've used both ever since. Go figure.
I assume they offer both with other OSs in mind, allowing some frameworks to differentiate between the two.
I have an idea for your other situation but I want to give it a quick test and it may be a sizable reply . Bear with me a minute.
Paul
|
|
|
|