Winforms - Assignment To Apparently Nonexistent Variables In .NET?
Nov 5, 2009
I have some VB.NET (which I don't normally deal with) code which must be converted to C# (which I normally do).The code happens to be in a Windows Forms app. I notice a couple of places such as:
Public Sub New()
ParentWindow = Me
where there is no ParentWindow variable defined, and it doesn't seem to be inherited here:
Public Class MainWindow
Inherits System.Windows.Forms.Form
Private Shared parentWindow As MainWindow
'....
(Though note that there is a similar variable with a lower-case first letter.)
and this:
DocumentCount = 0;
where, again, there is no corresponding variable definition and a straight conversion to C# Windows Forms indicates that there is no such member in the parent class.Am I missing an import somewhere, or is this a feature peculiar to VB.NET that doesn't translate directly to C#?
I've got one for you. I am working on a program that calculates the cost of a trip given a specific price of a Workshop say "Handling Stress for $595" the length of the workshop say "3 Days" and the city the workshop is in say "Austin for $95/day" now the issue i am having is that for example my NumDays variable (the variable for the number of days of the workshop) is not taking the value. Ive ran a Watch on the variable and it stays at 0. It also displays zero. i have assigned it an integer so it should be working if I assume correctly.
I have a set of nine double variables declared earlier in a program (i.e., phq91 through phq99) that I have placed within an array. The variables need to hold numeric data that correspond to item responses within combo boxes.
I'm making a program to detect polygon intersections, and it's all set up. I just need to know... how do you determine whether a region is of size zero?
In RowCreated of the GridView i add following script to select a row:
Select Case e.Row.RowType Case DataControlRowType.DataRow e.Row.Attributes("onclick") = Me.Page.ClientScript.GetPostBackClientHyperlink(Me.MainGrid, "Select$" & e.Row.RowIndex) End Select
This works like a charm(i thought).But when i debug the SelectedIndexChanging and the following SelectedIndexChanged events, i observe that the RowState of the selected Row switches from normal{0}/alternate{1} to 3 instead of selected{2}. This occurs between SelectedIndexChanging and SelectedIndexChanged. Why does this happen? The next time i programmatically set the selectedIndex(f.e. after a new row was created), i have two rows that are selected and no (un-hacky) way to deselect the old in RowDataBound, because of the invalid RowState of 3(should only be 0,1,2,4 or 8).
Writing a custom validator for a dropdownlist that is using autopostback. Seems to ignore the validation altogether. Why is it ignored and is there an easy fix? Note I did not use ControlToValidate
For debugging purposes, I want it to fail every time.It doesn't seem to be executing the behind code at all. For debugging, I added the line response.redirect("dummy.html") ... which never gets called, which also indicates (I think) that the validator never gets called.
I have a structure with 6 arrays inside it that is serializable so I can save the arraylist of them to a file and load them from the file. This part works.
When loaded from the file the data from a single specific record is populated to a listview control, this works on form load. The user can then select different records and in theory display the data in them (specifically the stuff in the arrays).
Displaying the data works as I'm editing the data, and on first load of the form and displaying the "default" record from the structures. Any other time (trying to switch between records during editing or after loading) the record is pulled (as shown by stepping through the code line by line) but the data in the arrays in the structure and only the data in the arrays is missing.
I've gone through all the code that runs and there is nothing that overwrites the array data in the records between displays so I'm at a complete loss as to why this data is going missing.
Below is the structure and the code.
Defined in a Module so as to be accessible when needed in several places through the program:
Public JBonus As New JobBonuses Public JBonuslist As New ArrayList
On load to set dimensions to the arrays:
JBonus.Str = New Integer(999) {} JBonus.Agi = New Integer(999) {} JBonus.Vit = New Integer(999) {}
Before I explain, the connection string I am trying to use is copied directly from elsewhere in the application that has always worked and still does. Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|cdb.rmd; Persist Security Info=False;
My problem is that no matter if I go to "Server Explorer", "Data Sources", or any other option it will not let me add a datasource/database. Up to this point I have done everything at runtime but now due to reporting issues I need to create a dataset in design view.
This is what happens: I click "Add connection..." I choose "Microsoft Access Database File" (Which it is...) I click "Continue" Form shows up with a field for my connection string, which I insert (shown above). I click "Ok"
I get the following error: Format of the initialization string does not conform to specification starting at index 0. The "Test Connection" button is apparently useless as the connection passes even if the field is blank.
I have attempted reducing the connection string to only what is absolutely necessary. I have copied the string directly from connectionstrings.com replacing my filename. I have renamed the file to an .mdb extension. I have used the full path from C: all the way to the file.
Last year (2010) I came across a FANTASTIC command that allowed me to take a string of variables with a common delimiter and break it all back out into separate variables (possibly an array) with one statement.
[Code]...
As long as the delimiter was a unique specifiable character, this one-statement command could break it out into elements. my memory and point me in the right direction.
I have code, shown below, that works all except for 1 thing: The variables being passed byRef get passed, but once modified in the else section of the "if me.invokerequired" code of RecordData, the variables are never updated in the calling function. To reiterate, the calling function does not receive the updated data that is in the variables custid and amt.When debugging, I see the data change in the else section of "if me.invokerequired", but once it returns from the callback the data is missing.[code]
I define some global variables of a class as follows:
Private Class MyClass Private var1 as Decimal Private list1 as List(Of string)[code].....
But I found that after this form is closed, all above variables, var1, list1, list2 still exist in memory. I thought they should be collected by gc since the form is already disposed as I confirmed.
Add: I have monitored half an hour after the form is closed. But these variables are not collected by gc. I have an automatic update procedure on the form which uses above variables.Since the above variables still hold values, the automatic update procedure is always called which causes exception. (One quick fix is to check if form.isDisposed in update procedure. But I do not think this is elegeant. Besides, these variables occupy memory.)
Is it possible to set a project default for VB.NET winforms projects so that the default Modifier for controls added to winforms is Private (not Friend)?I know there's a "modifiers" property in the properties window so I can set it for each individual control however I would like to change the project so from now on myself and other developers have to specifically decide to change from friend to private. (Which I would strongly discourage them from doing).I believe there is no way of doing this, but on another forum a while ago someone mentioned it would be possible with an add-in (but didn't name the add-in or where to get it).
Does the memory used in declaring variables are reclaimed by the OS when these variables go out of scope?Does the memory used be released by setting thier value to nothing? if not, then how can I force the garbage collector to run or excecute at a certain/desired time..How about in Windows Forms..How can we make sure that the memory used in initializing and showing forms be released if those forms were closed?
Question 1: What is the difference between "Background Worker" and "Worker Pool" as indicated within the MSDN samples provided.
Question 2: I noticed while using, AddressOf _Function_, variables cannot be passed; what would be an efficient solution to this?
Question 3: While using multithreading is it required to invoke before setting variables, or only form properties?
Question 4: While using System.Net.Sockets is it safe/efficient to use Application.DoEvents while waiting for new data; or would be using a Do While loop be fine without DoEvents since the action would be multithreaded? Note: there can be up to 2000-3000 sockets in use at a time.
I'm new in .NET programming.I have a class Form1 that includes Button1_Click event.Button1_Click creates a multiple Text Boxies at run time)Here is the class:
Public Class Form1 Dim shiftDown As Integer Dim counter As Integer
I have a school assignment and I just started to learn VB. Until now I/ve done pretty good however I encountered a problem which I can't solve in this assignment. So, I would ask if someone could tell me what I'm doing wrong?
This is the assignment:The application calculates the new hourly pay for each of three job codes, given the current hourly pay for each job code and the raise percentage (entered as a decimal number).
a.) before the form appears, use the InputBox function to prompt the personnel clerk to enter the raise percentage. You will use the raise percentage to calculate the new hourly pay for each job code.
Is there a way to set a variable in VB.NET in an IF statement. I would like to do the following:
[Code]...
Is there some way I can get the last "ElseIf" to work? I know I can re-write it to get it to work but is there some syntax that will make it work the way it is?
I'm having an odd problem with an ASP.Net page.I'm getting an object not set error message when assigning a string literal to a variable. [code] And here is the code that the error is pointing to. The last line in this fragment is the line 10 the error is complaining about [code] It seems it fails on accessing any reference type, even if it is declared locally in the load function. I originally found the problem when Request. IsSecureConnection was nulling out on me. I eventually discovered I could replace it with the above code and fail in the same way. The problem does not always happen. It seems to be triggered by publishing an update from Visual Studio, or when I head home for the day and the server sits idle all night. One or two app pool recycles seems to clear it up, and the page functions correctly. I've been doing desktop development for a few years, but I'm fairly new to web development.So maybe this is something obvious I've got configured wrong. I'm currently using .Net 4 on IIS 6. That code is in a foreach over an IEnumerable(of XElement). The stack trace still points to the string assignment, but all other stack traces are spot on, so I don't think it's a bad pdb.Also, when the error occurred this time, no amount of recycling the app pool or stopping and starting it would fix the error. I finally got it working again by switching the application to a different app pool.
Are all values contained in a combobox automatically treated as a non-string even when they are string values (in this case "Male" & "Female") and what is the correct way of assigning the value selected in a combobox to a variable?
i am making a program on visual basic 2010 and part of my objective is to calculate the tax, i am trying to calculate the TAX so this is part of my code and this is the only part which gives me errors:[code]
1. Constant cannot be target of an assignment
2. value of type 'string' cannot be converted to 'System.windows.forms.Lebel'.
I have an assign ment that says: create an application to let the user enter his or her name (first and last name), then displays the Initial in Upper Case. FOr example: you enter "John Wow", then the Label will display "JW". I know that I'm supposed to use the Substring method. But to use the Substring, I have to have the exact location of the Leter that is going to be displayed in the Label.The problem is: the name that the user enters always vary. So in strnewstring.Substring(... , ...) ---> the number in the parenthesis would vary, too. Thus, I cannot put a number in there.So how can i create a code for this particular assignment.
Maybe this is a n00bish question, but I'm used to c++'s pointers and references and this is confusing me a bit. Let's say I have the following scenario in a VB.net application:
[Code]...
The situation is this: I have a collection of objects, and during execution of the program, any of them can be fetched from the collection to be used/edited by another part of the program. Now obviously if I edit the data inside the object it is allright, but what if I want to replace the object, as I did above at line 5? I would change only the local reference (y) but not the object inside the collection!
Is there a way around this? How can I take with me a "reference to the object's reference", instead of just a reference, so if I reassign it it will also reassign the one in the collection? I hope I'm making myself clear, unfortunately english is not my native language, to be clear: in c++ this would be easy using a pointer to a pointer, or passing a pointer to the object always by reference, so calling new or reassignment on it would change the original pointer itself)
I have post several parts of my assignment. Can someone advise me on how to do a log on screen. I have a splash which is on a timer, which is supposed to go to a logon screen. I have created the database project in visual studio 2008. Database was created in ms access 2007.