|
No, you can't, because you can't generate the PaintEventArgs. Instead, call Invalidate(), which will force a paint event to be properly called.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
Sure, go ahead, we learn more from getting things wrong than by getting them right the first time, or by asking and being given the answer.
|
|
|
|
|
I try to do that but get error while compiling. Am i missing something?
|
|
|
|
|
This is not correct syntax.
You'd have to write
PaintEventArgs e = new PaintEventArgs();
OnPaint(e); but like the others suggested, this is really not the correct way of doing things.
Just replace the call to OnPaint(...); with Invalidate(); and you're done.
Regards,
mav
--
Black holes are the places where God divided by 0...
|
|
|
|
|
i have two Forms form1 and form2..
i called form2 from form1 ... i want to disable form1 when form2 is called and then when form2 is closed, form1 is enabled.
i could disable form1 when form2 is called but i don't know how to enable form1 when i close form2.
any help
thanks allot
|
|
|
|
|
Simply show form2 by using ShowDialog method.
If that is not an option register to the Form.Closed or Form.FormClosed (framework > 1.1) event of form2 and enable your form1.
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook www.troschuetz.de
|
|
|
|
|
Stefan Troschtz wrote: Simply show form2 by using ShowDialog method.
it works, but not the way i need
Stefan Troschtz wrote: If that is not an option register to the Form.Closed or Form.FormClosed (framework > 1.1) event of form2 and enable your form1.
it did not work,
|
|
|
|
|
marwan_siala wrote: it works, but not the way i need
So what is the way you need?
marwan_siala wrote: it did not work
What does that mean?
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook www.troschuetz.de
|
|
|
|
|
Use form2.ShowDialog();
Also you may by other way :
class Form2
{
....
private Form1 caller;
Form2_Init(Form1 cal)
{
this.caller = cal;
}
Form2_Closing()
{
caller.Enabled = true;
}
}
|
|
|
|
|
it does not work confused:
|
|
|
|
|
When you create the instance of form2 you must create it like this
class Form1
{
public Form1()
{}
public actionToShowForm()
{
Form2 form = new Form2(this);
form.Show();
this.Enabled = false;
}
}
class Form2
{
private Form1 callerForm;
public Form2(Form1 caller)
{
this.callerForm = caller;
this.Closing+=new EventHandler(form2_Closing);
}
void form2_Closing(object sender, EventArgs e)
{
this.callerForm.Enabled = true;
}
}
|
|
|
|
|
There is no need to pass form1 to form2. You can move the form2_Closing event handler into the Form1 class and register to the Closing or preferrably the Closed event (Closing can still be canceled) before showing form2.
class Form1
{
public Form1() {}
public actionToShowForm()
{
Form2 form = new Form2(this);
form.Closed += new EventHandler(form2_Closed);
form.Show();
this.Enabled = false;
}
void form2_Closed(object sender, EventArgs e)
{
this.Enabled = true;
}
}
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rick Cook www.troschuetz.de
|
|
|
|
|
while showing the next form, hide the previous form.
Form2 fm2=new Form2()
fm2.Show();
this.hide(); // for Form1 fm1=new Form1()
fm1.hide();
Do the same when u are moving from form2 to form1.
Keshav Kamat
India
|
|
|
|
|
thanks allot for your help..
i want it to be like MessageBox.Show(""); behavior.
but i am calling form2 when form1 is loading , if i use form2.ShowDialog() ,form1 will not load...
-- modified at 10:12 Friday 16th March, 2007
|
|
|
|
|
I've written a program to interface between Peachtree accounting and my application. No problems, everything works fine, however I want to streamline things.
To support Peachtree 2007 and 2006 requires a different Interop assembly to be generated. No problems there either, here's the problem: In my app, there is only 3 lines of code difference between using the 2006 and 2007 interop assemblies.
The Import method for 2007 supports returning a list of Guid's that were imported which I want to keep, and the 2006 version doesn't.
Currently I'm looking at having to use preprocessor directives to conditionally compile for the different Import methods and changing the references in my project before building.
This isn't ideal, I'd like to do it in code dynamically instead so at runtime it can work with either version by using the appropriate interop assembly.
I'm a bit mystified as to how to accomplish this. If I generate two interops named differently, let's say Interop.PT2006.dll and Interop.PT2007.dll and reference them both in my app then I'll have two interops in the same namespace clashing on all the methods which are for the most part identical.
I could change the namespaces, but then I'd have to futz around in my code all over the place to call the appropriate namespaced method and it would be a mess.
I guess I need to dynamically reference the correct interop at run time and somehow dynamically call the 3 methods that are slightly different in the interop at run time.
I just need a general kick in the right direction for this.
Any suggestions appreciated.
|
|
|
|
|
I get an error at this line saying, "unknown user and password" I know I put the right username and password in the right string.
throw new Win32Exception( Marshal.GetLastWin32Error() );
}
ALso, I get an error by___ "c:windows\system32\cmd.exe". It gives me an error by the \. Not sure why? I got an unrecognized escape sequence.
Can someone please help?
|
|
|
|
|
cpltek wrote: I get an error at this line saying, "unknown user and password" I know I put the right username and password in the right string.
throw new Win32Exception( Marshal.GetLastWin32Error() );
We'll have to see the code you used.
cpltek wrote: ALso, I get an error by___ "c:windows\system32\cmd.exe". It gives me an error by the \. Not sure why? I got an unrecognized escape sequence.
If your doing this in C#, the path should look like:
string path = @"C:\Windows\system32\cmd.exe"
or
string path = "C:\\Windows\\system32\\cmd.exe"
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
here is the code ...
namespace ImpersonatorDemo
{
///
/// Main class for the demo application.
/// Call this application with a low privileg account to test.
///
class Program
{
///
/// The main entry point.
///
[STAThread]
static void Main( string[] args )
{
// Impersonate, automatically release the impersonation.
using ( new Impersonator( "administrator","", "password here" ) )
{
// The following code is executed under the impersonated user.
string[] files = Directory.GetFiles(@"\\misfs\public\DST Update\xpdstupdate.exe");
}
}
}
}
now it says..Could not find a part of the path '\\misfs\public\DST Update\xpdstupdate.exe'.
-- modified at 16:56 Friday 16th March, 2007
|
|
|
|
|
You're missing the domain specifier. It's not optional. If the Administrator account is on the local machine, you either have to give this parameter the machine name or you can pass a single period, ".", as the domain. You cannot leave it as String.Empty as your code does. Doing that is not the same as passing NULL to the function.
Next time, you might also want to say that you got the code from "such-and-such" article here on CodeProject. Impersonator is not part of the .NET Framework and surprised me when I saw your code.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
|
Hi,
I have created a windows service in .net 2.0
Ran the InstallUtil.exe and can now see the windows service in services window.
Now I have modified the code in windows service. Built it with success. Ran the instalUtil.exe but fails. Is it necessary to uninstal first and then instal again for each build?
Thanks
|
|
|
|
|
arkiboys wrote: Is it necessary to uninstal first and then instal again for each build?
Yes, but there is a property in the project to avoid this, called UnistallPerviousVersion or some thing like this.
|
|
|
|
|
Why when I place DefaultValueAtribute before property to set a specific value, the result with that value is not seen in the property panel.
e.g
[DefaultValueAttribute(23)]
public int MyProperty
{
get { return myVar; }
set { myVar = value; }
}
In that case i see "0" value in property panel.
What is wrong?
|
|
|
|
|
The DefaultValueAttribute specifies the value your property is set to when you select "Reset" in a PropertyGrid.
Regards,
mav
--
Black holes are the places where God divided by 0...
|
|
|
|
|
Doesn't the property window of VS Designer contains PropertyGrid?
How to do that the defalt value of a property was displayed in Property Window and its code was automaticaly generated?
|
|
|
|