VS 2008 : Set A Property From Within The Class It Is Defined In?
Aug 7, 2009How do I set a property from within the class it is defined in?
View 2 RepliesHow do I set a property from within the class it is defined in?
View 2 RepliesI have created a class that contains a property array, but I cant use the setters and getters.
[Code]...
I have derived a textbox. This user control works fine everywhere. However, i have added a property in this as follow:
Public _propertyValue As Boolean
Public Overridable Property AllowNull() As Boolean
How can i make one item in my class not serialize?
I have tried adding:
<System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)> with no avail
I have a class with many properties to which I need to assign values.I have another class with a sorted list of data from which the assignments are to be made. Is there a way to get the names properties from a class and refer to those properties?I looked through System.Reflection.Assembly but could not find a way to do it.
Class DataMngr
Sub ManageData()
Dim sl As SortedList(Of String, Double)
sl = GetData()
[code]....
We have an interface, which can be grossly simplified as:
[Code]...
I've got this in a public module
Module PublicModule
Public caseBAL_C As caseBAL
Public clientBAL_C As clientBal
Public Enum CSFlags
[Code]...
It doesn't like the Public Property StateFlag() As CSFlags -it's saying that CSFlags
'StateFlag' cannot expose type 'PublicModule.CSFlags' outside the project through class 'caseBAL'.
I have a collection class, say ITEMS, that inherits a Dictionary (of String, SINGLEITEM). From the SINGLEITEM class, I would like to reference a property in the parent ITEMS class, what is the best way to do this? For example, say the ITEMS class has an IsDirty property and I would like to set that if ANY of the contained SINGLEITEM objects is modified, what's the best way to go about doing this?
I know I could add a reference to the collection class in each SINGLEITEM class (since I override the ADD method, I could make this assignment), but this seems like overkill.
I'm working on a helper class that will make things easier for me when connecting to and viewing a crystal report.Now I need to create a Property called DataSource. Crystal has a SetDataSource method that has 4 overloads/constructors(not sure what the right term is)1 accepts a System.Collections.Ienumerable, the 2nd accepts a Dataset, the 3rd a DataTable, and the 4th a DataReader.Now I want my property to be able to accept all those. So what Type must my property be.If I can just have DataSet and DataTable for now it would be fine, as I work with those mostly Public Property DataSource as?
View 3 RepliesI'm creating a UserControl that draws a simple radial gauge. I need it to be very customizable; the user should be able to customize everything such as the colors, fonts, sizes. So, I just made a property for every customizable detail. For example, I had ScaleFont, ScaleColor, ScaleStart, ScaleEnd, ScaleInnerRadius, ScaleOuterRadius, ScaleTickmarkFrequenty, etc.. etc.. etc...
Because there are so many properties about the same subject, I wanted to 'group' these properties into one "property". I've seen this done loads of times in third party controls, but I've never done it before myself.The idea is that the properties can be accessed like
Me.Gauge1.ScaleSettings.Start = 10
Me.Gauge1.ScaleSettings.End = 80
...
So far, I tried creating a class for each group, for example a clsScaleSettings class, containing properties like Font, Color, Start, End, InnerRadius, OuterRadius, TickmarkFrequenty, etc (corresponding to the same properties as above).
Then, for every 'group' or class, I create a Property. For example, I have the ScaleSettings property, which simply returns an instance of the clsScaleSettings class (I initialize the instance only once of course):
vb.net
Private _ScaleSettings As New clsScaleSettings
Public Property ScaleSettings() As clsScaleSettings
[code]....
Now, this works in the code editor. I can now use
Gauge1.ScaleSettings.Font = Me.Font
for example, and it sets the font correctly.But, I does not work in the designer, in the Property Grid. The whole reason I made the effort to move and rename nearly all properties (about 70!), and all references to those properties, to separate classes, was so that the user could design the gauge more easily using the Property Grid!Instead of having 15 settings related to the scale, scattered all over the Property Grid, he can now have one ScaleSettings property, which he can expand, and then he can edit the properties of that group easily.The ScaleSettings property is greyed out in the property grid... So I cannot expand it and view it's underlying properties.
I have a very simple class that holds a few public properties - ID, Text, Colour, etc. and a Boolean called 'SelectedItem'. Just like the Checked property on RadioButtons, only one item can have its SelectedItem property set to True within a particular group. Note: there will be several separate groups (lists), each allowed to have only one item with SelectedItem = True.
My first thought was that I would probably just have to handle everything outside of the class, setting SelectedItem to False for every other item in a particular list when another item was selected. But that seems rather inelegant to me. So I've been trying to think of how this might be done within the class. For example: could I perhaps have a private string property called say "GroupName" - set in the New sub when adding a new instance of the class - and then use a private shared method to set every item's SelectedItem property to False, provided the item has the same GroupName as the newly selected item? I would have a go at doing this but I have no idea how to enumerate every instance of a class from within that class, or whether that's even possible. Is it? Or is there another (better) way to achieve my goal? Here is a cut-down version of what I've got so far:
Public Class ResourceItem
Public ID As Integer
Public Text As String[code]....
As can be seen: instead of instantiating a new ResourceItem and passing that as an argument to the manager's Add procedure, I'm simply passing the details of the new item and the procedure is creating the item from those. I don't know whether this is a good or bad idea - please advise - but I've done it because I couldn't figure out how to make the SelectedItem property only writeable by the manager, so I wanted to avoid having directly accessible objects that could have their SelectedItem property set to True without it deselecting all the other items in the same group. Of course that still leaves the possibility of setting a variable to one of the manager's list items and setting it from there, so I would still like to know how I could prevent that, if possible.
UPDATE: I didn't use the code above in the end, deciding instead to go with Cyborgx37's solution - which seems to work perfectly well for me despite the warnings about best practice. I also realised I would need to use the same class in another scenario where multiple items could be selected, so it was easy to add a Boolean property to the manager to enable that.
I need some help to understand my options to get this working. I try to update a textbox control by a property-changed event from a class variable. I've digged around for a day and have a vague understanding that this can be solved in three ways:
1. Using some "if InvokeRequired", "Invoke" code in the handler method
2. By programming a special delegate class for this variable
3. By using a databinding directly linking the control (textbox) to the class event
Now.. Are these options correct? And would it be possible to get some help to show these three solutions in actual code (relevant to mine)? I can't seem to manage to sort all the information to a working code. Also, what are the pros and cons of the different solutions?
As my code stands now, it's obviously none of the above, as it gives a cross-thread error, as indicated.
[Code]...
I have been looking at some sample code, which includes the following line
Dim rule As FileSystemAccessRule = CType(Me.ACEDetails.SelectedNode.Tag, FileSystemAccessRule)
I'm a bit confused, because filesystemaccessrule has not been defined as a class anywhere in the code.
I have the following code:
Public Class MyColorsClass
'Constructors
Public Sub New()
'Empty Constructor
[code]....
However, if the empty constructor was called to instatiate this class then the colortype is not yet set. Therefore, if one accesses the 'IsColorCool' property it will always return 'False'. Now for the sake of this example, I must keep the empty constructor as part of the class.Now I could add some code in the 'IsPropertyCool' to check and see if a ColorType has been defined, and throw an exception if it has not been set, but I don't really want to do that.I also could always move the logic OUT of the property and into a method on the class called 'DefineIfColorIsCool' or something, and make the owness on the caller to make sure the method was called if they want to use the property 'IsColorCool'?
I have a class named CustomWebAuditEvent defined in App_Code/CustomWebAuditEvent.vb and I'm trying to use it in a eventMappings of my Web.Config
[Code]...
I have a web site project where I need to use the System.Security.Cryptography.Xml.SignedXml class. I added the Dll System.Security as a reference and imported the namespace into my project. It compiles successfully but when I debug the project I get a compilation error:
Compiler Error Message: BC30002: Type 'System.Security.Cryptography.Xml.SignedXml' is not defined.
What gives? Edit: I run Windows XP Pro 64bit OS
BitmapPalette class is not defined in VB (express). What should I do ? Add a reference (which one) ? Declare myself the class in my project but that won't be the common class ?
View 4 RepliesI have been having some trouble today with a User-Control of mine. Is what is happening is when I try to build an application with the control in it, the Form.Designer has an Error saying that Namespace.ControlClass is not defined. I have no idea what the problem might be and hope that one of you do.The weird thing is that the Control Builds just fine and I can drag it from toolbox to the form and THAT works. Also, it works just fine in Design-time. It didn't start erroring until either, I upgraded it to VS2010 or until I changed it a bit today. If necessary, I can post it here.
View 2 RepliesSupose a base class
Public Class airplane
Private var_num_seats As Integer
Private var_num_engines As Integer
[code]....
Obviously, I don't wish that the class Glider has the method "start_engines" neither the property "num_engines". Otherwise, other child classes may have. How can I supress these property and method in child class, not just ignoring (if I can)?
I have procedure (Import) that calls a for a new instance of frmImportData. I also have a class name clsBatch that has a data table property called prpParametersTable.For some reason, I get an error (indicated below with ERROR>>>) when trying to assign prpParameterTable to cv_dtImport2. The error states "Object reference not set to an instance of an object.". Why does this error not happen when I assign dtBP to cv_dtImport1? Both cv_dtImport1 and cv_dtImport2 are equal to Nothing and in my Import procedure dtBP = prpParametersTable.
Public Sub Import(ByVal clsB As clsBatch)
Try
Me.cv_clsB = clsB
[code]....
I have three class files, accounts.vb and transactions.vb in addition to my form.vb. I am unable to retrieve a member variable from on class from inside the other. When the combobox index changes, the program loads the correct account (checking or saving) from two different sequential files. I don't think I have the calcBalance procedure in the correct class file. And that is what I am having trouble with. Accessing it to display it. [Code]
View 1 RepliesI would like to make a "deep copy" of a class object that I have defined. See Visual Basic 2005 Code below
Dim MyStuff1 as new MyClass
Dim MyStuff2 as new MyClass
mystuff1.getbyID(anID)
mystuff2 = mystuff1
Unfortunately the statement "mystuff2 = mystuff1" makes a "shallow copy" of mystuff1. Therefore, if mystuff1 is redefined then so is mystuff2. What do I have to do in MyClass to implement a deep copy method such that operations on mystuff1 and mystuff2 are independent?I would prefer something like
mystuff1.deepcopy(mystuff2)
or
mystuff2 = mystuff1.deepcopy()
I have a small problem, classes and threading with classes. The problem I have is a dynamic array variable defined in class. In the code below, when error pauses the code, I can see the data in the correct form but I can't write rigth code that writes the data to richtextbox.
Public Class Form1
Public k() As Integer
Private Class zaratma
[CODE]....
First I put it inside a Module and it works just fine. However when I created a Class and put it inside it, it showed up some errors. (they are in the code's comments)
Public Class MyImageClass
'function to merge 2 images into one
Public Function Merge(ByVal img1 As Image, ByVal img2 As Image) As Image 'Type 'Image' is not defined
Dim bmp As New Bitmap(Math.Max(img1.Width, img2.Width), img1.Height + img2.Height) 'Type 'Bitmap' is not defined
[Code] .....
I tried importing the System.Drawing namespace to this class which didn't change anything either. I've never really touched the OOP side of VB.NET before, this is my first attempt creating a class.
This is a bit of a continuation from a previous post for which AtmaWeapon was very informative.
Problem:
A parent class has a sub class with various properties. A property of the parent class is a List(of T) with T = the sub class The issue is how to store data in the sub class of the instantiated parent
Some example code (hopefully formatted correctly):
Code:
'=========== Class Definitions =============
Public Class courseClass
Public Class timeTableClass
[Code].....
I'm looking for a tutorial on how to Adding a list(of Class) or Collection as another Class's Property.What I am after is something like the Columns Collection for the DatagridView control.I would like to add Items in the graphics screen. Where the item list is displayed in the left panel and the selected Item properties are displayed in the right panel.
View 4 RepliesI was knowing that For Each loop can only be applied to those classes that implement IEnumerable interface . But recently i accidentally wrote a code that is using For Each on my class's objects collection and my that class is not implementing IEnumerable interface .Below is the sample code that i am testing on :
Sub Main()
Dim personList() As Person = New Person(2) {}
personList(0) = New Person("s1", "s2")
[code].....
Suppose I want to build a class like
Class MyClass inherit Something
Dim A as string Bim B as integer
End Class When I am writing code, and i want to use thesenew properties or fields, the intellisense shows me the new properties and fields mixed with those inherited. Is there a way to show them all grouped togheter separated from those inherited ( a part giving them a common prefix in the name)?
I am in the process of migrating from VB6 to VB 2008. In a pixel grid system I have thousands of cells with about 15 properties each. In VB6 I employed the user-defined datatype "udtCell()" as my array structure. Is this still a good approach - or should I perhaps make Cell a class?
View 2 RepliesThis is a Library code I got from Microsoft for format a textbox into a numeric format...but it's doesn't works because error message "numberFormatInfo is not defined".
Public Class NumericTextBox
Inherits TextBox
Private SpaceOK As Boolean = False
' Restricts the entry of characters to digits (including hex),
' the negative sign, the e decimal point, and editing keystrokes (backspace).
[Code] .....