|
I'm programming an app which I want to launch from a MQ process when a message arrive. I have definited that process, but I need when the C# app has been launched doesn't show the app's DOS console.
In addition, If I do doubleclick on program which was done in C#, It shouldn't show the console.
How do I program it?.
|
|
|
|
|
Write a windows app instead, and hide the window.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
Ok, Christian,
I did that, but how do I do to quit from the window without click on a button done (like is common)?. I am trying with "this.close()" after I do my process but it does not result.
Tnx, Friend.
|
|
|
|
|
this.Close() in the main window class works for me. Maybe it only works if visible ?
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
Well, Christian is parially right. You can write a windows app, but just don't open the window in the first place.
The easiest thing to do is create a windows app, which creates a starting form for you. In that form class you will find a static method called Main() . In that method you will find the line Application.Run(...); remove that line and start coding in the Main() like a console application (remembering, of course, that you don't actually have a console) - You can remove the other parts of the class to do with the form that will no longer be created as well if you like.
Does this help?
My: Blog | Photos
WDevs.com - Open Source Code Hosting, Blogs, FTP, Mail and More
|
|
|
|
|
I did it you told me:
//Application.Run(new Form1());
and this helped me.
Tnx friends.
|
|
|
|
|
hi all
i need in my application to use of camera through the usb or through the tv tuner
can u suggest how can i make these interfaces and in case of usb cam how can i make use of the driver
thanks
|
|
|
|
|
hey,
I have a typed dataset which contains a few tables and datarelations. What i want to do is deleting a row from one of the tables (this table has no parent columns in datarelations, only childs) with the folowing code
<br />
table.removetablerow(row);
this works so far that i can see the row disappearing in my datagrid.
but then, i use
dataAdapter.Update(table); to update those changes to my database, but nothing at all changes in the database.
can sb help me?
|
|
|
|
|
Basically it doesn't know how to update your database, you need to generate the Insert,Update commands mannually or use SqlCommandBuilder to build them for you.
|
|
|
|
|
Hi,
Before using the data adapter for updating the data into the database we need to generate insert, update, delete commands using command builder.Use the following code for that.
SqlCommandBuilder bldr1 = new SqlCommandBuilder(adptr);
bldr1.QuotePrefix = "[";
bldr1.QuoteSuffix = "]";
after this give your update statement.
dataAdapter.Update(table);
Guess this will help you.
Thanks and Regards
SGS
|
|
|
|
|
Hello,
I am looking for a way to permanently set a system environment variable (e.g. PATH, JAVA_HOME)
From hunting around I have found code to p/invoke to SetEnvironmentVariable kernel32.dll but this only changes the path during the instance of the running application. I need to change the PATH value and have the change remember permanently.
I also need to do the same thing with new environment variables.
Anybody got any ideas?
|
|
|
|
|
Windows does save almost everything in the registry. Using [WinKey]+[Break] you can bring up the "Computer Properties" which hold (on one of the Tabs) a button to modify global environment settings. AFAIR, these are also saved to the registry (somewhere), so you should be able to set those with a .reg-file.
I neither know which keys need to be set, nor where they are in the registry tree, sorry for that. But you could "SET FOO=BAR" and then search the registry for "FOO" and "BAR".
Cheers
Sid
|
|
|
|
|
Found em:
HKLM/System/ControlSet001/Control/Session Manager/Environment/
RegSZ with Varname as Keyname, containing the value.
Cheers
Sid
|
|
|
|
|
Interesting, I never considered looking the registry for them.
You wouldnt happen to know if this would be backwards compatible to windows98?
|
|
|
|
|
No. In Windows 98 you set them in Autoexec.bat. Setting them in the registry applies to Windows ME, Windows NT4, Windows 2000 and Windows XP.
|
|
|
|
|
I want to give some controls a transparent background. Does anyone have a hint on how to accomplish this? I have found some examples that removes part of the area the control uses from the control's region. But since they check every pixel of the control they get very slow with large controls.
|
|
|
|
|
yourControl.BackColor = Color.Transparent;
Seriously, it should work.
|
|
|
|
|
It should work. Did you try? You'll be surprised!
Edit:
Seriously. For a UserControl, you cannot set the background to Transparent. If you try to set the background to Transparent on the standard Label, the label assumes the same color as the background, but if you place it on top of something else, that something else is hidden.
|
|
|
|
|
Before the edit, I was going to ask you exactly what you were trying to do. The "seriously" comment was just because the code otherwise looks like a snide comment on how to set transparency. I have used BackColor = Transparent with success before, but it does have the problem you mention. There's really no good way around it without doing a lot of fancy region work or drawing everything yourself (which is ok for informational controls such as labels but a pain for input controls). Depending on your exact needs, I've found that if all you're doing is non-input controls (labels, images, etc.), painting the whole thing yourself leads to far better results in terms of accuracy and speed.
Of course, if you just need to match a dynamically changing background color to the parent control, you can do yourControl.BackColor = yourControl.Parent.BackColor, but I don't think that's quite what you're after.
|
|
|
|
|
Exactly.
But if I paint the control myself, it will stil occupy the whole region. The areas that I do not paint are filled with noice. Or are there any tricks here?
Let say that I want to paint a simple textstring (like a label). Is there a way to set the region according to the text without looping through every pixel in the control, checking if it's changed or not?
I really hate this. I want my old VB labels back!
|
|
|
|
|
If it works for you, you could simply call Graphics.DrawString from the OnPaint method of control that's underneath to paint the text. That way, that "label" would really just be painted on and not a control. That might cause some flicker issues, but it all depends on how often your program redraws.
I don't quickly know of an easy way to set the region to the text.
|
|
|
|
|
Don't know if this can help you, but this article shows transparency in VB:
http://addressof.com/blog/articles/293.aspx
-spif2001
|
|
|
|
|
There is an excellent article on "Custom Shaped Forms" in the MSDN. That article deals with Forms taking non-rectangular shapes.
The first part describes masking the Form with a Bitmap (which is not what you are after).
In the second part, though, the author describes the creation of Forms with custom design not dependant on bitmaps, but using GraphicsPath instead.
I am not sure if this is applicable, but if it is, you should be able to "freeform" your controls.
As for painting the controls yourself and having noise on the non-painted areas: You obviously still USE the whole region. Since Windows does some real clever clipping calculations, the painting of these areas is left to the topmost control (which makes sense). If you do not repaint them, they will stay whatever they are.
Cheers
Sid
|
|
|
|
|
The MSDN article seems very helpful. I got some results right away. Not exactly what I wanted, but I think I'll be able to convert it to something useful.
Thanks!
|
|
|
|
|
Creating really transparent controls can be quite tricky because of the way controls are painted.
But basically you'll have to override your control's CreateParams to include the WS_EX_TRANSPARENT extended window style and override OnPaintBackground to do nothing. A transparent control would look like this:
public class TransparentControl : Control
{
public TransparentControl()
{
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
BackColor = Color.Transparent;
}
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x00000020;
return cp;
}
}
protected override void OnPaintBackground(PaintEventArgs pevent)
{
}
} You can add your own OnPaint() override, of course, to perform your foreground painting.
Regards,
mav
|
|
|
|