|
How can check the screen resolution of a system to make sure it's 800X600 and if not change it to 800X600 but change it back when closing without prompting the user to confirm?
Jassim Rahma
|
|
|
|
|
I don't know about changing the resolution, but to check it use Screen.
|
|
|
|
|
I have a Windows Form application that helps build a XML file which has a menu item to make it perform a translation to another format (MC in my case).
I would like this application to be usable at the command line, like in a batch file, so it can be included in a build process. Obviously, I don't want any windowing when run from the command line. To achieve this trick, I simply check if there is some command line parameters. If there is no command line parameter, I start the Windows form.
I modified the main fuction from:
static void Main()
{
Application.Run(new MsgEditorMainForm());
}
to
static void Main()
{
string[] cmdLine = Environment.GetCommandLineArgs();
if (cmdLine.Length > 1)
{
Console.Out.WriteLine("MessageEditor: Translation from <" + cmdLine[2] + "> to <" + cmdLine[3] + ">");
}
else
{
Application.Run(new MsgEditorMainForm());
}
}
(error handling stripped for clarity)
The problem is that the Console.Out.WriteLine... don't produce any output, even if I start the application from a command prompt.
What is wrong?
|
|
|
|
|
|
I have found the solution: change your project settings from "Windows application" to "Console application". There is one drawback though: There will be a command window even when the application is in the "Windows Form" mode.
|
|
|
|
|
|
oops sorry leppie.
|
|
|
|
|
Is there a way to synchronize the vertical scrollbars between two controls, so that as you scroll up and down in one you also scroll up and down in the other? For example, a ListView and a DataGrid sitting side-by-side, or two ListViews.
Thanks
Maureen
|
|
|
|
|
I am having a great deal of trouble with what on the surface seems simple. I am writing a Component (not a Control) which needs to access the Form on which it is contained,
<br />
public class Resizer : System.ComponentModel.Component<br />
{ <br />
public Resizer(System.ComponentModel.IContainer container)<br />
{ <br />
container.Add(this);<br />
InitializeComponent(); <br />
<br />
Need to get the form ......<br />
I need no designer interface hence the inheritance from Component. Does anyone have any ideas of how to get the Form? I have looked at ISite and tried
<br />
<br />
Form c = (Form)this.Site.GetService(typeof(Form)); <br />
<br />
I wish to emulate the design time appearance of the timer component so explictly don't want to inherit from Control and set Visible to false
|
|
|
|
|
Yeah, I had this problem too. But I never found a solution, I got round it another way that isn't applicable to you unfortunatly.
Come on everyone! Someone out there must know how to do this *very* useful thing.
Pete
Insert Sig. Here!
|
|
|
|
|
Pete,
Thanks for the reply......The damn thing must be possible!!!!
I'm not glad, but you know what I mean, that others have hit the same brick wall and I'm not just incapable of reading MSDN etc..
It was a pain in ATL but at least it was a pain. I expect the feature is not documented, but is present. I have tried reflection but there is so must to reflect upon that mist starts to fall!!!
Do you know of a way to contact Microsoft or any articles on the component/site/container architecture. MSDN seems only to have a very sparse collection and any info on querying the IContainer via the ISite is simply lacking.
Charles
|
|
|
|
|
|
|
|
http://discuss.develop.com/archives/wa.exe?A2=ind0206d&L=advanced-dotnet&T=0&F=&S=&P=4192[^]
a snippet from that post by Ian Griffiths
"This [code] detects when it is being hosted in VS.NET (or any other environment that provides the IDesignerHost interface) and obtains a reference to the containing form if there is one. VS.NET will detect that the property's value is referring to the form, and correctly serializes this in the InitializeComponent method as:
this.containedByWindow1.ContainingForm = this;
So that's the code you want, but VS.NET will generate it automatically, meaning your users are no longer required to remember to type it."
HTH,
James
"It is self repeating, of unknown pattern"
Data - Star Trek: The Next Generation
|
|
|
|
|
|
leppie wrote:
is all good and well for desugntime, but at runtime I still need a reference to the form's handle.
Which is where the link comes in; what you wind up doing is tricking the designer into persisting a reference to the hosting form. So at runtime you can get the handle to it from the reference you got during the InitializeComponent phase of the form loading process.
leppie wrote:
Is it even a good idea to make something like nBASS a component?
I would think so; especially if you implement something like the above to automatically get the handle.
James
"It is self repeating, of unknown pattern"
Data - Star Trek: The Next Generation
|
|
|
|
|
|
I should have written down all the information:
I want to get the Form at run time, the code suggested is for design time only....However looking at the original message containing your the suggested code, examining the IL should contain the answer.
thanks for the suggestion,
Charlie
|
|
|
|
|
|
Anonymous wrote:
I want to get the Form at run time, the code suggested is for design time only
Thats the beauty of it though, the way it works is that at design time it gets assigned a reference to the form. Then when the Form designer goes to generate the code to recreate the component it sees that the property referencing the Form is not equal to the default value (null) so it serializes the property as a reference to the Form.
Even though the code to get the reference happens at design time, the reference is persisted by the designer. Then at run-time, when InitializeComponent is called on the Form it will reassign the reference to match the design-time state of the component.
Unfortunately this does no good if you want an easy solution for non-VS.NET/SharpDevelop users. As far as I know, there isn't any way to get the parent control that is hosting the component. And I'm not sure if there should be either because Components can be used anywhere, not necessarily used in conjunction with a Control/Form.
Sorry if I rambled, or didn't make sense I'm extremely tired and was just about to go to bed when I decided to check my e-mail.
James
"It is self repeating, of unknown pattern"
Data - Star Trek: The Next Generation
|
|
|
|
|
|
On a .NET Toolbar, how do I setup groups of buttons, such that only one button in a group is pressed. For example, if I have 3 different view modes, each represented by a button on the toolbar, how do I ensure that only one is pressed (sunk) at a time? Is there a property I can set, or do I need to code it?
Thanks in advance.
Kyosa Jamie Nordmeyer - Cho Dan
Portland, Oregon, USA
|
|
|
|
|
Does anyone know how to spawn a command with a set of environment variables?
I am using Process which does seem to have:
p.StartInfo.EnvironmentVariables
But it is read only, or only has a get function.
|
|
|
|
|