Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Why is my inherited window forms control deleted

Postades av 2006-03-16 08:34:37 - Tony Johansson, i forum c# (c-sharp), Tråden har 2 Kommentarer och lästs av 756 personer

Hello!

I have a very specific question and that is about how to inherit a visual
control for example the control System.Windows.Forms.TextBox without causing
the environment to delete the control when there are some compile errors.
It's the same problem with any visual control that you inherit. The control
is deleted as soon as you use the View Designer when there is compile error.


It's very easy to reproduce my problem. You can do it in this way.
1. Create a class called ExtTextBox like this. In my example here I have
removed the namespace. But if you include namespace make sure you have
access to it.
public class ExtTextBox : System.Windows.Forms.TextBox
{
public ExtTextBox() {}
}
As you can see this class ExtTextBox inherit from the ordinary components
System.Windows.Forms.TextBox in the .NET framework

2. Create a windows form with any name. The default is Form1

3. Use the View Designer and drag the control TextBox into the window form.
My control was called textBox1

4. Because I want the control textBox1 to be an instance of ExtTextBox I
have to edit the InitializeComponent() I don't have any other idea.
Here is an extract from my windows form called Form1.
Only the interesting rows is written. Two rows is important here.
First saying that control textBox1 is of type ExtTextBox.
Second edit the InitializeComponent and say that textBox1 is an instance of
ExtTextBox.
public class Form1 : Form
{
private ExtTextBox textBox1;

...
...
...

Private void InitializeComponent()
{
this.textBox1= new ExtTextBox();
...
...
...
}
}

5 Compile. Hopefully you don't get any compile errors. When you run the
application only the textBox is being displayed. The problem might start
even here. If you get any compile error and you use the View Designer the
control named textBox1 is being deleted.

6 If you don't get any compile error make a change so you get a compile
error and then use the View Designer the control named textBox1 is being
deleted.

7 Now to my question. I can't use controls that being deleted automatically
when I get compile error as soon as I use the View Designer.

8. If I want to use inheritance on visual control how do I do. I just can't
have it as it is now.

9 I just can't use inheritance in the way I do now.

10. I hope that you have a good suggestion how I should use inheritance on
visual control to avoid this kind of problems.


Additional information: I have a project containing
several forms and some code class files. One file in the project is a code
class file which contains this ExtTextBox in this way.
public class ExtTextBox : System.Windows.Forms.TextBox
{
public ExtTextBox() {}
}

When you build the project(assemby) and you get some compile error and you
then use the View Designer on a form containing this inherited control the
control will be deleted.

I have also noted that you can avoid that the control is being deleted but
it's a very annoying way to do it on.
Before you build the project(assembly) you click on Windows->Close All
documents.
Then you build and you get some compile error and you can still use the View
Designer and see the control.
I just can't use that solution having to close all the documents every time
before I build the project.

When I use inheritance I want to extend for example the TextBox class by
additional functionality.
If I create a userControl(see below) for example like this. I can't extent
the class TextBox with additional functionality because the control is a
member in the UserControl class. I can extend the functionality of class
UserControl1 but that is not what I want.
public class UserControl1 : System.Windows.Forms.UserControl
{
private System.Windows.Forms.TextBox textBox1;
...
...
...
private void InitializeComponent()
{
this.textBox1 = new System.Windows.Forms.TextBox():
...
...
...
}
}

So the main question is how do I do if I want to inherit(extend) a visual control class for example TextBox without having the TextBox control to be deleted as soon as I use View Designer.

Is it possible that my problem is a kind of bug in the .NET framework.
I use VS 2003.

//Tony








--------------------------------------------------------------------------------




Svara

Sv: Why is my inherited window forms control deleted

Postades av 2006-03-16 18:46:29 - Andreas Hillqvist

I created a class that extends the Textbox. Added it to the form by the My User Controls tab in the toolbox.
I can not reproduce your behavior. What version of visual studio are you using?


Svara

Sv: Why is my inherited window forms control deleted

Postades av 2006-03-17 09:29:28 - Emma Magnusson

The problem is not your textbox or your own version of it - it is that you have your forms with instances of it open while building - since it tries to build the textbox - with an error it is removed.

If you can't wait to put your object's on the display form until your controls are tested you could do like this:


- Save before building
- If it goes south - close the solution without saving and open it again.
- Everything is where you put it - as well as your changes - if you need to know what the errors where - save the text in the output window before exiting - but nothing else.

/Emma


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 169
27 953
271 705
963
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies