|
1. Drop a ComboBox on a form.
2. Add 5 items to the ComboBox in the Form_Load event.
3. Run the project.
4. Pull down on the ComboBox.
5. While it is still pulled down click the mouse some
place else on the form.
6. Notice that the ComboBox still has focus even though
the pull down menu disappears.
7. Once again click the mouse some place else on the form.
8. Now the ComboBox loses focus.
I think this is a bug. Any suggestions or feed-back
welcome.
Thanks.
|
|
|
|
|
First time when u click on the form it just makes a selection from your ComboBox but the focus stays in there but on the second click, it loses focus.
I think this is the normal sequence.
|
|
|
|
|
Yes this is a standard feature. When the DropDown window is displayed it sets MousCapture. The intention is to prevent an accidental command from executing from an inadvertand mouseclick intended to close the dropdown window.
|
|
|
|
|
I've created a strongly typed dataset but whenever I try to select rows from
a table and try to cast the rows, I'm getting an error "Specified cast is
not valid.".
I have a table named "Inventory". I'm able to select rows and place them in
a variable with type DataRow[]. However, when I try to cast it to a
InventoryRow, I get errors every time.
Here's the code: my dataset name is PADS...
working code:
DataRow[] recordArray = this._dataSet.Inventory.Select();
error code:
<br />
PADS.InventoryRow[] recordArray =<br />
(PADS.InventoryRow[])this._dataSet.Inventory.Select();<br />
I'm certain I'm using the correct variable names because I'm able to easily
create new records with the following:
<br />
PADS.InventoryRow record = this._dataSet.Inventory.NewInventoryRow();<br />
this._dataSet.Inventory.AddInventoryRow(record);<br />
Any input would be greatly appreciated!
Andrew Connell, MCDBA
IM on MSN
andrew@aconnell.com
|
|
|
|
|
I've run into a problem like this before with a server i wrote. I couldn't find any elegant solution. Logic tells you that you should be able to make this class but for some reason it won't allow it. What I ended up doing was creating an Array of the more specific type ( PADS.InventoryRow ) and then manually putting every element from the array returned from select into the more sepcific array.
If you find an easier way to od that please post it.
Jared
jparsons@jparsons.org
www.prism.gatech.edu/~gte477n
|
|
|
|
|
Yikes!
That's something I definatley don't want to get into. I'd much rather deal with the native DataRow objects than manually add each item into the typed object. That seems like a TON of overhead. If I find anything I'll be sure to post it.
In the meantime, I'm investigating MAPPING and merging the two different types. If I can do that in my data access layer/components, and just continue on with the application development, then I'm fine with that.
Andrew Connell, MCDBA
IM on MSN
andrew@aconnell.com
|
|
|
|
|
I'm trying to develop my first C# app. I chose to develop a chat software because I wanted to use the sockets' classes.
I've develop a chat server and a chat client. In the last one, I have to display the incoming messages in a RichTextBox control.
The problem is that it doesn't automatically scroll to the end of this control when I append a text.
The piece of code is :
int index=dialogTextBox.TextLength;
dialogTextBox.AppendText(message+"\r\n");
dialogTextBox.Select(index, message.Length);
dialogTextBox.SelectionColor=myColor;
(NB : its append a new line using the 'myColor' color)
I tried to use the ScrollToCaret but it doesn't work.
Please help me !
jpeg
|
|
|
|
|
All you will need to do is...
int index=dialogTextBox.TextLength;
dialogTextBox.AppendText(message+"\r\n");
// Inserted here
dialogTextBox.Focus();
dialogTextBox.Select(index, message.Length);
dialogTextBox.SelectionColor=myColor;
// Focus your entry box back again here.
Or you can write an On Text Changed handler, like I had to that will focus the box, scroll to the caret, then focus back to the entry. You will have to do this if you are adding text to the box from a thread that you created to read from the socket like I did. Doh!
-Steven
|
|
|
|
|
Thanks for your help.
As you said in your answer, my updating functions were called from a thread (a thread which is waiting for messages from the server). So I added a handling method for my dialogTextBox's TextChange Event to use these updating functions instead of calling them in the thread and it works !
Therefore this problem is quite strange, don't you think ?
Why can you add a text to a textbox and can't scroll to the end ?
|
|
|
|
|
It is a little strange. I had even tried passing the parent object as a part of a setup function, and then calling a method on that object to focus the object, but still no go. For some reason it appears that .Focus() doesn't function inside of a subthread.
|
|
|
|
|
Hello
[WebMethod Description="Returns true if User ID in Database")]
public bool isUserIdValid( int nUserID )
{
DataSet myData = new DataSet();
sqlDataAdapter1.SelectCommand.Parameters["@userID"].Value = nUserID;
sqlDataAdapter1.Fill( myData, "UserID");
myData.Tables[????
return true;
}
Lets say we have a web method such as the one above, it calls a stored procedure on an sql database and returns an int, 0 if user id invalid, or the value of the user id if valid.
So, Ive passed the @userid to the sqlDataAdapter and filled a dataset ie myData with the results.
How do I now get at the data in the DataSet myData ive just created?????
Please help with code required to get the value returned by the stored procedure
Regards
Li Mu Bai
Wudan Master (Deceased)
|
|
|
|
|
Li Mu Bai wrote:
How do I now get at the data in the DataSet myData ive just created?????
Have you tried to access the data like so:
myData.Tables["UserID"]
So your code could possibly look something like:
[WebMethod Description="Returns true if User ID in Database")]
public bool isUserIdValid( int nUserID )
{
DataSet myData = new DataSet();
sqlDataAdapter1.SelectCommand.Parameters["@userID"].Value = nUserID;
if ( sqlDataAdapter1.Fill( myData, "UserID") > 0 )
{
if ( myData.Tables["UserID"] != 0 )
{
return true;
}
}
<br><br>
return false;
}
Roger Stewart
"I Owe, I Owe, it's off to work I go..."
|
|
|
|
|
Hi guys,
I just want to read a field in a column in a dataset.
I dont want to fill a grid, i just want to check one filed for a value???
Regards
|
|
|
|
|
And your question is what?
I'm going to assume it is how you read a field in a dataset.
First, get the proper DataTable out of the Tables property of the DataSet; then find the appropriate Row in the Rows property of the DataTable, finally read the appropriate column out of that.
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
If you don't have Visual C# (ie you purchased VB.NET standard) then you're out of luck with this tool since it was created with C#. It is also a tool created for use with VS.NET, so you are also out of luck if you aren't using VS.NET.
When I did a reinstall of CollectionGen a few minutes ago I took a look at the readme file and found that it was missing a few steps.
First off download it from the link above, then unzip it to the directory of your choice (this will be the final resting place for it so place it where you want it).
Now open the CollectionGen solution file (CollectionGen.sln) you will probably get some errors about not being able to find the Visual Source Safe server; just tell it ok to get through the warnings.
Now if you don't don't have VB.NET, remove the vbtestcli project from the solution [right click on it and choose remove, tell it to overwrite the solution file if it complains about being read-only].
This is where the readme is missing some steps.
Right click on the CollectionGen project, and choose "Add Reference..." click the Browse button and browse to the Microsoft Visual Studio .NET\Common7\IDE directory select the "Microsoft.VSDesigner.dll" file. 'Ok' back to the main IDE. Now right click on the testcli project and choose "Add Reference...", click Browse, and browse back to that directory again. Select the "Microsoft.VSDesigner.dll" file, then click Browse again; this time selecing the "microsoft.visualstudio.designer.interfaces.dll" file. Again, click OK back to the main IDE.
Now that that is done, change the combobox at the top of the IDE to say Release instead of Debug and build the solution.
Using the Command Prompt provided by VS.NET (look in VS.NET's Tools program group in the start menu) run the setup.bat file located in the CollectionGen\redist.
That should be all you have to do
To test it right click on one of the XML files in the testcli project and choose "Run Custom Tool". If all goes well you'll see VS.NET work for a bit then nothing will happen. That is good!
Now to use it in your own program simply create an XML file of the same format as listed in the readme file. Add that file to your project, then change the "Custom Tool" property to "SBCollectionGenerator".
Thats it
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
|
Nishant S wrote:
what is this collectiongen thingie
Strongly typed collection generator for VS.NET.
Essentially you have an XML file that specifies the types and what kind of collection to generate and it does so. If you want to support a new type of collection its as simple as creating a new XSLT file and adding it to the project and recompiling CollectionGen.
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
Does anyone know how to generate an enum of the video capture hardware, or how you would get other kind of information about hardware installed on a computer in C#?
Thanks,
Steven
|
|
|
|
|
How can I create a statusbar with 3 panels with 3 sliders (in every panel 1 slider)?
Just like this:
Text... |---[Slider]---| |---[Slider]---| |---[Slider]---|
|
|
|
|
|
You should probably just make your own control, and make it look like a statusbar. When you add it to your form, just dock it to the bottom.
|
|
|
|
|
I mean, who decided that I could not do this ?
const int n = x+5;
And why can't I create a static method and use it from a class instance OR overload a method so that both the static and non-static versions exist ?
Who wrote this rubbish ?
Christian
come on all you MS suckups, defend your sugar-daddy now. - Chris Losinger - 11/07/2002
|
|
|
|
|
Christian Graus wrote:
const int n = x+5;
I don't see any problem here.
Step back, rub your eyes, take a deep breath, stretch a bit, and reflect on the relative importance of CP, CG, the age / travel time sustained by supposedly 'fresh' cheese curds, and Life in General. - Shog9
|
|
|
|
|
Nor do I, but the compiler will only accept
const int n = 5;
Christian
come on all you MS suckups, defend your sugar-daddy now. - Chris Losinger - 11/07/2002
|
|
|
|
|
I meant to say that I don't see any problems with compiler not accepting it. You need to get over C+ mentality. there ain't no const variables only const constants.
Step back, rub your eyes, take a deep breath, stretch a bit, and reflect on the relative importance of CP, CG, the age / travel time sustained by supposedly 'fresh' cheese curds, and Life in General. - Shog9
|
|
|
|
|
Rama Krishna wrote:
I meant to say that I don't see any problems with compiler not accepting it.
Thats cool. So why does my compiler not accept it ?
Rama Krishna wrote:
need to get over C+ mentality. there ain't no const variables only const constants.
That's really deep, but I have no idea what the hell it means. :P
Christian
come on all you MS suckups, defend your sugar-daddy now. - Chris Losinger - 11/07/2002
|
|
|
|