|
|
Yup exacly!
Thanks a lot!
But still... using that I figured that I need to do what I want in other way...
In my application I've just realized that maximizing the the form and then opening the other forms in normal state wouldn't be very elegant (I'll have to spread too much code, telling every form to open in normal state).
This way I'm thinking now in instead of maximizing the first subform, I want it to fill the portal application.
Let me try to explain this better:
I have a portal aplication wich uses everytime one of its subforms(monitor form). This way I want the monitor to be opened automatically with the portal.
Now, since it didn't work to start the monitor with maximized state... I want its normal state to have the size that fills the portal app. (Portal is just a form with a menu above with, File, Edit, View and all that stuff)
Fill the portal = make the monitor have the size of that empty space from the portal app.
The problem: When you change windows themes, constant size doesnt work... sometimes it is less, and sometimes it is bigger than it should be (scrollbars appear).
Is there a property, variable.. or something that gives me the size of that empty space?
Thanks in advance!.
|
|
|
|
|
Are you talking about an MDI Form with children?
If so, setting the start up position of the parent to manual and
this.Size = Screen.PrimaryScreen.WorkingArea.Size;
this.Location = new Point(0, 0); will make it fill the working area of the primary monitor.
For the children, if you want them to fill the parents client area then put this in the child's load method.
this.Size = Parent.ClientRectangle.Size;
this.Location = new Point(0, 0);
Dave
|
|
|
|
|
Thanks for the help Dave!
I think this can work, but I dunno why the parent form keeps enabling the scroll bars.
The parent form thinks that the Child form is bigger than its area and then enables the scroll bar.
To stop this I searched for Scroll functions and tried setting them manually:
public PortalForm()
{
InitializeComponent();
this.AdjustFormScrollbars(false);
this.AutoScroll = false;
this.HorizontalScroll.Enabled = false;
this.HorizontalScroll.Visible = false;
this.VerticalScroll.Enabled = false;
this.VerticalScroll.Visible = false;
this.HScroll = false;
this.VScroll = false;
this.SetAutoScrollMargin(0, 0);
this.SetScrollState(0, false);
}
But these function didn't work... when I start the child form, the portal scroll bar is activated...
Here is the code where it starts the child form:
private void PortalForm_Shown(object sender, EventArgs e)
{
Form frmMonitor = new MonitorRiscoResultadoFrm();
if (frmMonitor != null)
{
frmMonitor.MdiParent = this;
frmMonitor.StartPosition = FormStartPosition.WindowsDefaultLocation;
frmMonitor.WindowState = FormWindowState.Normal;
frmMonitor.Size = ClientRectangle.Size;
frmMonitor.Show();
}
}
Any ideas why the scroll bar keeps visible ?
Thanks again!
Oscar
|
|
|
|
|
Place this method in your MDI Parent form:
private void ChildFillClientArea()
{
if (ActiveMdiChild !=null)
{
Form activeChild = ActiveMdiChild;
Rectangle clientArea = Rectangle.Empty;
foreach (Control control in this.Controls)
{
if (control is MdiClient) clientArea = control.ClientRectangle;
}
activeChild.Bounds = clientArea;
}
} and call it after showing the form
MonitorRiscoResultadoFrm frmMonitor = new MonitorRiscoResultadoFrm();
frmMonitor.MdiParent = this;
frmMonitor.Show();
ChildFillClientArea();
Edit: No need to place any code in the child form's load method
Dave
|
|
|
|
|
I need to create WinForms DataGridView column which shows spaces between thousands and allows user to enter amounts, e.q
<br />
1 234.55<br />
22 444.44<br />
343 333.33<br />
3 333.45
I tried MSDN DataGridView MaskedTextBox column sample.
This sample displays mask only for current cell, not to whole column.
I tried to use
public MaskedTextBoxCell()
: base()
{
DisplayStyleForCurrentCellOnly = false;
...
But got error since DisplayStyleForCurrentCellOnly does not exist for TextBox cells.
How to apply mask to every row in column and allow user to enter numbers?
Andrus.
Andrus
|
|
|
|
|
Hi!
Can someone please tell me how to open MMS streams in C# (using a lib. or whatever), and play it using the DirectShow. I'm struggling with this issue for a week, and can't get it to work whatever I do. I was browsing the DirectShow MSDN library, but couldn't find anything. I know there is a way to open and play MMS streams from a WMP ActiveX ctrl., but I don't find this approach very convenient.
Thanks in advance,
A.
modified 20-Jun-22 21:01pm.
|
|
|
|
|
MMS? Do you mean Mutimedia messages as sent from a mobile (cell) phone?
Dave
|
|
|
|
|
No, I meant MMS as Microsoft Media Services (like in "Video/Audio Streaming")...
modified 20-Jun-22 21:01pm.
|
|
|
|
|
I am running VS2008 Professional version but I don't see the Profiling menu so i can monitory the my application performance. Most of the Profiling tutorials don't tell you how you can itegrate this addson to your VS2008 Pro. Can somebody help me to figure this issue out.
|
|
|
|
|
Profiling is included only with VS2008 Team Edition.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
VS6 had profiling built in. I've seen the claim that executables produced with VS6 run faster than equivalent executables produced with the later compilers.
Maybe Microsoft doesn't want to make it easy for people to find this out. Or maybe they want to sell a more expensive version that has the profiler included.
|
|
|
|
|
what are you talking about dude i couldn't understand what you are telling here VS6 what's that
|
|
|
|
|
VS6 is Visual Studio version 6. It was followed by Visual Studio .NET in 2003. After that Microsoft identified compiler versions by the year they were released, e.g. VS 2008.
|
|
|
|
|
Alan Balkany wrote: VS6 is Visual Studio version 6. It was followed by Visual Studio .NET in 2003. After that Microsoft identified compiler versions by the year they were released, e.g. VS 2008.
*Cough* Correction *Cough*. Visual Studio .NET was 2002 - that was version 1 of the compiler. It was followed up by VS 2003 in 2003 which introduced .NET 1.1 (hence the year numbers started in 2003).
|
|
|
|
|
Is there any to make a child form's background transparent?
|
|
|
|
|
Did you try setting the background colour to Transparent? Setting the back colour to transparent doesn't usually work out that great, but who knows, it might work out for you.
My current favourite word is: I'm starting to run out of fav. words!
-SK Genius
Game Programming articles start - here[ ^]-
|
|
|
|
|
I used the opacity property. But it didn't work. So is there any more way to do that?
|
|
|
|
|
Damn, wait a minute. You can't even set the back colour to transparent, I was thinking of the transaprency key.
Try something like this on your form:
Form1 frm = new Form1();
frm.BackColor = Color.FromArgb(255,0,255);
frm.TransparencyKey = Color.FromArgb(255,0,255);
frm.Show();
My current favourite word is: I'm starting to run out of fav. words!
-SK Genius
Game Programming articles start - here[ ^]-
|
|
|
|
|
|
|
Hi,
I need to set default language in my winform application
i.e. I want that users will not see default system laguage but default application laguage
thanks
Evgeny
|
|
|
|
|
Easy - you define all the text in your app, so create it in the language you want.
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
Hi!
I assume that your application already has localization support included, right?
In that case, you can use the Thread.CurrentUICulture property to assign a specific CultureInfo object to your application's main thread.
The System.Globalization namespace has all you need.
Regards,
mav
--
Black holes are the places where God divided by 0...
|
|
|
|
|
Hi
thhnks for your reply.
I tryied to set language but didnt successed.
I need to develop application with default laguage Russian,
i.e after starting applicatiojn russian lang will be set automaticly.
How can I do that.
thnks
|
|
|
|