|
my mdicontainer controls and child controls overlap.............tried the opacity property with no use
Any help is appreciated
|
|
|
|
|
Without a lot more detail I don't think anyone can guess what your code is doing.
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
i have a mdicontainer on which there are some controls ...i also have a child form with some controls...when i run the app and open my mdicontainer and child form.....the controls of both overlap... I am able to move the child form freely but as soon as it reaches the mdicontainer form control both overlap..its like the child form becomes transparent and i can see the mdicontainer controls even though the child form is covering it
|
|
|
|
|
you need to expand this alot more
1. Are we talking about controls drawn on the MDI Parent form?
2. Controls that are on a child form that isnt showing on the parent form properly?
3. dynamic drawn controls?
Lobster Thermidor aux crevettes with a Mornay sauce, served in a Provençale manner with shallots and aubergines, garnished with truffle pate, brandy and a fried egg on top and Spam - Monty Python Spam Sketch
|
|
|
|
|
child form is on top of mdicontainer hence controls of child form are supposed to be hidden
child form is almost transparent and i can see the mdicontainer controls even though child form is supposed to cover the mdicontainer as it is placed on top of mdicontainer controls....
its so transparent that it appears as if mdicontainer controls and child form controls are overlapping
|
|
|
|
|
From what I have read
Is that the MDI Parent merges certain controls with child forms.
The controls that can't be merged are always placed on top of all other controls including forms
So if you need to display any controls while using and MDI approach you need to only place them on the child forms except toolbar menus as these will be merged with the forms at runtime.
Lobster Thermidor aux crevettes with a Mornay sauce, served in a Provençale manner with shallots and aubergines, garnished with truffle pate, brandy and a fried egg on top and Spam - Monty Python Spam Sketch
|
|
|
|
|
Hi All,
Am facing an issue with getting the MouseDown event for a custom drawn Button class in Dot Net 2.0 framework. This custom class basically listens to the MosueDown,Up,Hover,Enter and Leave events and updates the image shown on it (if we hover or click, an "active/pressed" image is shown else "inactive" image is painted).The code is as below :
class CustomButton : Button
{
Bitmap displayimage;
bool down;
public CustomButton()
{
MouseUp += OnMouseUp
MouseDown += OnMouseDown
}
private void OnMouseDown(object sender, MouseEventArgs e)
{
down = true;
displayimage = new Bitmap("pressedimage.png");
Invalidate();
}
private void OnMouseUp(object sender, MouseEventArgs e)
{
down = false;
displayimage = new Bitmap("inactiveimage.png");
Invalidate();
}
protected override void OnPaint(PaintEventArgs e)
{
if (down)
{
Matrix matrix = new Matrix();
matrix.Translate(1, 1, MatrixOrder.Prepend);
e.Graphics.Transform = matrix;
}
e.Graphics.DrawImage(bitmapImage);
e.Graphics.DrawString(displaystring);
base.OnPaint(e);
}
}
The buttons are created in the main Form class and we also listen to MouseDown event here :
class WinForm1 : Form
{
CustomImageButton button = new CustomImageButton ();
public WinForm1
{
button.MouseDown += OnButtonMosueDown;
}
private void OnButtonMosueDown(object sender, MouseEventArgs e)
{
}
}
The problem is MouseDown events don`t even get trigerred sporadically, mostly seen in cases where the user is working with some external application and then directly comes over and clicks the custom button on the UI.
Any idea as to what could be the cause/likely solution ?
Is this related to the click through issue seen in dot net 2.0 Toolstrip class (refer http://blogs.msdn.com/b/rickbrew/archive/2006/01/09/511003.aspx ) ?
|
|
|
|
|
I tried your code and the mouse down event is being triggered.
|
|
|
|
|
I intend to write a software like Microsoft Office. but I don't know where to start.
I hope to have your support to reduce time.
thank you very much!
|
|
|
|
|
There is no way that this question can be answered in a simple forum like this. And I have to say that judging by your statement (I don't know where to start) this task is somewhat ambitious.
Unrequited desire is character building. OriginalGriff
I'm sitting here giving you a standing ovation - Len Goodman
|
|
|
|
|
Thank Richard MacCutchan for your post.
your statement: "this task is somewhat ambitious". I think that is true. but I only want to discuss the ideal to start it.
and I hope to meet persons having ideals same as me. thank!
|
|
|
|
|
|
Thank DaveAuld!
your post is very useful.
|
|
|
|
|
rocket42 wrote: I intend to write a software like Microsoft Office.
At MSDN[^] and your local library. Microsoft provides Express Editions[^] that you can download for free.
Bastard Programmer from Hell
|
|
|
|
|
This is really ambitious, but to start off with, you can look at small text editors to get an idea of how these things are built.
Simple Text Editor Source[^]
|
|
|
|
|
If you want to see what this really entails, go over to OpenOffice.org[^] and look at the mountain of source code for OpenOffice. Click me for the source repository[^]. It'll take you the better part of your entire life to come up with the code to duplicate this effort.
|
|
|
|
|
I thought about leading him to OpenOffice or LibreOffice... but I thought that'd be a bit cruel...
|
|
|
|
|
This is being over-ambitious.
First go and write a MS-Paint like software. show the world.
Then write and normal Text Editor. Show the world.
Re-improve on those N number of times. Then re-think new idea and then you can Aim for MS-Office kinda via a proper plan.
***** Programme comme si dept soutien technique. est plein de tueurs en série et ils savent adresse de votre domicile. *****
|
|
|
|
|
You've just revealed the Microsoft plan to the entire world.
|
|
|
|
|
|
Hi,
I have a winforms project with multiple forms that are children of a parent form using the MDI format. Now my main form which is the parent of all the others has a class instance created in the code to do some comms work.
My issue is thatI want to be able to access some of the methods and properties of this instance from my other child forms to for example change some settings etc.
Can someone point me in the right direction please.
example of the code in Main.cs
myClass mainClass = new myClass();
In admin.cs I want to access the PacketSize property of the myClass instance that is created in the Main.cs
Can this be done please say yes...
Cliff.
|
|
|
|
|
Cliffordagius wrote: Can this be done please say yes...
Yes. Have your class implement a custom interface, and cast the form to it's correct interface when you need to access the properties specific to the interface.
Bastard Programmer from Hell
|
|
|
|
|
I say: yes
Furthermore I suggest you choose, buy and study an introductory book on C#, it will teach you the basics of the language and relevant OO principles.
|
|
|
|
|
Declare you mainClass instance at the form level and expose the instance as a property.
internal MyClass MyClass {
get {
return myClass;
}
}
And from the child forms you can access this class like this:
MainForm mainForm = this.MdiParent as MainForm;
if (mainForm != null) {
var packetSize = mainForm.MyClass.PacketSize;
}
|
|
|
|
|
Picky-picky: the use of identical names, for both Property Type, and Property Name, in the 'internal Property definition above ... uhh ... makes me nervous Yes, it will compile, but I think that then becomes ambiguous code that degrades future maintainability.
Consider: we define 'MyClass this way:
public class MyClass
{
public MyClass() {}
public MyClass(int pSize)
{
PacketSize = pSize;
}
public int PacketSize { get; set; }
} Then, in the "main form:"
private static MyClass myClassInstance1;
public static int PacketSizeInMyClass1
{
get
{
return myClassInstance1.PacketSize;
}
}
AdminForm adminForm = new AdminForm();
private void MainForm_Load(object sender, EventArgs e)
{
myClassInstance1 = new MyClass(256);
adminForm.Show();
} Now, in the instance of 'AdminForm, we can directly access the PacketSize value in the instance of MyClass:
int pSize = MainForm.PacketSizeInMyClass1; This is only one variation of many possible approaches to narrowing the scope of what is exposed, and eliminating complex look-ups (as in your example, where you have to re-create the instance of MainForm by de-referencing this.MDIParent every time you want to access the value of PacketSize).
And, each scenario's requirements may demand different approaches: if, using the scenario above there is one and only one instance of MyClass ever created: then that class can be made static, and the code simplified futher.
In the example here, we've gone to perhaps awkward lengths to leave MyClass a dynamic class that could have more than one instance created (although, obviously, we haven't shown any other instantiation and its use).
"It is the mark of an educated mind to be able to entertain a thought without accepting it." Aristotle
|
|
|
|