By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
444,065 Members | 1,598 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 444,065 IT Pros & Developers. It's quick & easy.

Subclassing

P: n/a
I am looking for any information about how I could subcass a form I don't
own and resize some buttons.

We run a application which is extreamly legacy and the company has long
since went out of business. This application will install on WinXP but the
buttons on the form are smaller than they should be. I would like to hook
into this form and resize the buttons. I remember working on things like
this a few years back with VB but its been a while so any help or sites
would be appreciated.

Nov 2 '06 #1
Share this Question
Share on Google+
6 Replies


P: n/a
Its Me Ernest T. wrote:
I am looking for any information about how I could subcass a form I don't
own and resize some buttons.

We run a application which is extreamly legacy and the company has long
since went out of business. This application will install on WinXP but the
buttons on the form are smaller than they should be. I would like to hook
into this form and resize the buttons. I remember working on things like
this a few years back with VB but its been a while so any help or sites
would be appreciated.
I don't know of any sites, but what you might try is to use FindWindow
to find the window handle of the control in question such as a button.
Then use SendWindowPos api to change its size.

I'm not sure this will work and after you resize the button, if that
form is ever repainted, the button may go back to its former size.

Hope this helps a little.

Good Luck.

Nov 2 '06 #2

P: n/a
>I am looking for any information about how I could subcass a form I don't
>own and resize some buttons.
You probably don't need to do any subclassing just to resize controls.
You should be able to do that with the FindWindow(Ex) and MoveWindow
Win32 APIs.
Mattias

--
Mattias Sjögren [C# MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Nov 2 '06 #3

P: n/a
Hi,

If you want to stay in the managed arena you can get the control references by
doing the following:

class DerivedForm : ParentForm
{
public DerivedForm()
{
// assuming that one Button.Name is "button1":

Button button1 = (Button) Controls["button1"];

// and just use the reference like normal
button1.Location = new System.Drawing.Point(0, 0);
}
}

If you are unsure of the names of the buttons then place a break point on the
first line and exam the Controls collection in a watch window.

Of course, I'm assuming with this code that the base constructor will have
initialized the Buttons already, which is probably good since the designer
serializes initialization into an InitializeComponents method that will have
executed already in common scenarios.

--
Dave Sexton

"Its Me Ernest T." <sp**@myplaceinspace.comwrote in message
news:C4******************@tornado.southeast.rr.com ...
>I am looking for any information about how I could subcass a form I don't own
and resize some buttons.

We run a application which is extreamly legacy and the company has long
since went out of business. This application will install on WinXP but the
buttons on the form are smaller than they should be. I would like to hook
into this form and resize the buttons. I remember working on things like
this a few years back with VB but its been a while so any help or sites
would be appreciated.

Nov 2 '06 #4

P: n/a
Dave Sexton wrote:
Hi,

If you want to stay in the managed arena you can get the control references by
doing the following:
That probably won't help the OP since he was specifically asking about
a form in another app, not created by him.

Nov 3 '06 #5

P: n/a
Hi Chris,

Yes, it seems that way now. I assumed that the OP might be using a Form from
a third-party assembly. "a form I don't own" is a bit vague and I read the
remainder of the post as referencing this third-party Form - a bit strange, I
know :)

--
Dave Sexton

"Chris Dunaway" <du******@gmail.comwrote in message
news:11**********************@i42g2000cwa.googlegr oups.com...
Dave Sexton wrote:
>Hi,

If you want to stay in the managed arena you can get the control references
by
doing the following:

That probably won't help the OP since he was specifically asking about
a form in another app, not created by him.

Nov 3 '06 #6

P: n/a
Yup, you got me looking in the right place though and I have about got
exactly what I need. Thanks again.

Bryan

"Chris Dunaway" <du******@gmail.comwrote in message
news:11**********************@i42g2000cwa.googlegr oups.com...
Dave Sexton wrote:
>Hi,

If you want to stay in the managed arena you can get the control
references by
doing the following:

That probably won't help the OP since he was specifically asking about
a form in another app, not created by him.

Nov 3 '06 #7

This discussion thread is closed

Replies have been disabled for this discussion.