|
I don't have access to my development system at the moment to try this out. So, I would appreciate some input as to whether or not this might work:
IHTMLDocument3 iDoc3 = (IHTMLDocument3)wb1.Document.DomDocument;
IHTMLSelectElement eltCountryList = iDoc3.getElementById("countryList");
eltCountryList.selectedIndex = 25;
For now, just ignore the absence of error checking for null pointer values. Is this about the right approach? Will I be able to modify the <SELECT> element's 'selectedIndex' property without any kind of initialization or setup code (sometimes it looks like the HTMLDocument contained in the webbrowser control is read-only)? Do I need to iterate through each <OPTION> element in the list using the IHTMLOptionElement interface and set the 'selected' property to false?
|
|
|
|
|
Here's the code that properly selects an element from the listbox:
HtmlElement eltCountryList = webBrowser1.Document.GetElementById("countryList");
HtmlElementCollection eltOptions = eltCountryList.GetElementsByTagName("option");
foreach (HtmlElement op in eltOptions)
{
op.SetAttribute("selected", ""); // de-select all items in the list
}
eltOptions[25].SetAttribute("selected", "True"); // set "United States" as the selected item
|
|
|
|
|
I am taking a 2nd quarter C# programming class at the local community college. Since I took the 1st quarter a couple of years ago and it was in VB, I am getting hammered by not knowing how to do things in the IDE for C#.
I can figure out the logic of what I am trying to do, but get baffled and stymied in my attempts to create projects do to not knowing how and what to do in the IDE.
These are really simple things like create a class or turn on validation.
I have multiple C# books, but what I am missing is so trivial the books don't even really cover it.
Where is a good tutorial or cheat-sheet to cover how to do basic things in IDE while programming for C#?
TIA,
Kevin
|
|
|
|
|
When in doubt right click.
For example: To add a new class you are adding it to the "Project" so right click on the "Project" Node in the "Solution Explorer" tree. Then look at the items in the context menu. They should provide you with a clue.
"What classes are you using ? You shouldn't call stuff if you have no idea what it does" Christian Graus in the C# forum
led mike
|
|
|
|
|
The .NET documentation that comes along with Visual Studio includes tons of material about using the IDE. Paste this into your browser's Address box to get started:
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_cscon/html/e10e2cba-641f-47a3-88a3-6748965254d7.htm
Josh
|
|
|
|
|
hi
how to use progressbar when my operation is working ?
thanks..
|
|
|
|
|
well if [your operation] uses a loop then before the loop assign the progressbar's maximum value to the number of iterations being executed. Set the progressbar's value to some value i.e. 1. Then inside the loop call progressbar.PerformStep(). However, bear in mind that if your operation is intensive and gives you the freeze gui look then you will need to use delegate(i.e. asynchronous callbacks) or background worker thread to update the progressbar.
hope this helps.
-- modified at 20:29 Saturday 6th May, 2006
edited items in [].
|
|
|
|
|
Hello all,
I'm trying to build my own very-simple Socket wrapper class. The first class (which I'm trying to do now) is for listening. The most important thing I am trying to implement is OnConnect, Ondisconnect, and OnReceive.
I've done OnConnect and it's working perfectly. But now I've spent alot of time trying to implement the OnReceive method, but I get a strange result!
..
..
..
<br />
public void listen(int port)<br />
{<br />
listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);<br />
listener.Bind(new IPEndPoint(IPAddress.Any, port));<br />
listener.Listen(10);<br />
listener.BeginAccept(new AsyncCallback(myOnConnect), listener);<br />
}<br />
<br />
public void myOnConnect(IAsyncResult ar)<br />
{<br />
Socket sock = (Socket)ar.AsyncState;<br />
OnConnect(myId);<br />
try<br />
{<br />
if (sock.Connected)
{<br />
AsyncCallback recieveData = new AsyncCallback(myOnReceive);<br />
sock.BeginReceive(m_byBuff, 0, m_byBuff.Length, SocketFlags.None, recieveData, sock);<br />
}<br />
}<br />
catch(Exception e)<br />
{<br />
MessageBox.Show("Err: "+e.ToString());<br />
}<br />
listener.BeginAccept(new AsyncCallback(myOnConnect), listener);<br />
}<br />
<br />
public void myOnReceive(IAsyncResult ar)<br />
{<br />
Socket sock = (Socket)ar.AsyncState;<br />
try<br />
{<br />
int nBytesRec = sock.EndReceive(ar);<br />
if( nBytesRec > 0 )<br />
{<br />
string msg = Encoding.ASCII.GetString(m_byBuff, 0,nBytesRec);<br />
OnReceive(myId, msg);<br />
AsyncCallback recieveData = new AsyncCallback(myOnReceive);<br />
sock.BeginReceive( m_byBuff, 0, m_byBuff.Length, SocketFlags.None, recieveData, sock);<br />
}<br />
else<br />
{<br />
OnDisconnect(myId);<br />
}<br />
}<br />
catch<br />
{}<br />
}<br />
|
|
|
|
|
tmp0 wrote: if (sock.Connected) //the strange this is, this always returns false
I have never used Async Sockets in .NET.
sock is your Listening socket and therefore will not be connected. You need to call listener.EndAccept(ar) to get the socket object that is the "connected" socket.
try<br />
{<br />
Socket sessionSock = sock.EndAccept(ar);<br />
if (sessionSock.Connected)<br />
<br />
Hope that helps.
"What classes are you using ? You shouldn't call stuff if you have no idea what it does" Christian Graus in the C# forum
led mike
|
|
|
|
|
Hello tmp0...
When using Socket's async functions it's important to call the EndX methods inside your callback functions...
In BeginAccept()'s case, you have to call EndAccept(), which will return a new CONNECTED socket.
Only then could you take the listener object you've created, and call BeginAccept() again.
With that said, your myOnConnect() callback should look something like that:
public void myOnConnect(IAsyncResult ar)
{
OnConnect(myId);
try
{
Socket sock = listener.EndAccept(ar);
listener.Close();
if (sock.Connected)
{
AsyncCallback recieveData = new AsyncCallback(myOnReceive);
sock.BeginReceive(m_byBuff, 0, m_byBuff.Length, SocketFlags.None, recieveData, sock);
}
}
catch(Exception e)
{
MessageBox.Show("Err: "+e.ToString());
}
listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
listener.BeginAccept(new AsyncCallback(myOnConnect), listener);
}
Hope this helps...
Tell me the results
Shy
-- modified at 4:52 Sunday 7th May, 2006
|
|
|
|
|
Seems that I should have read more before begining the implementation process!
Thanks for all your help, its working very smoothly now.
|
|
|
|
|
hi all
i want to insert the value in field of type "time stamp" in sql server 2000 from C# application. that field is not null.
when i had tried to insert new record in a row of table leaving time stamp field empty but it insert value as . how to get time stamp and insert into sql server.
Tasleem Arif
|
|
|
|
|
Please read "How to get an answer to your question" which is the first Message in the list.
"What classes are you using ? You shouldn't call stuff if you have no idea what it does" Christian Graus in the C# forum
led mike
|
|
|
|
|
I have two listboxes on a webform. One has a list of groups in it, and the other will have the members of the group depending on what index is selected in the group listbox. I am handeling the SelectedIndexChanged event of the Group list box so that I can change the contents of the second listbox. The problem is that the event doesn't seem to be firing:
protected void GroupList_SelectedIndexChanged1(object sender, EventArgs e)
{
int index = GroupList.SelectedIndex;
DataRow[] rows = dSet.Tables["Mounts"].Select("Group_Number =" + GroupList.Items[index].Text);
foreach (ListItem item in MountList.Items)
{
MountList.Items.Remove(item);
}
foreach (DataRow row in rows)
{
MountList.Items.Add(row[0].ToString());
}
}
Any Ideas?
Thanks for any responses
|
|
|
|
|
Why aren't you using DataBinding?
Sean89 wrote: The problem is that the event doesn't seem to be firing:
"Seem to be" does not help. It either does or does not, which is it?
If it is not firing then something is not set correctly.
"What classes are you using ? You shouldn't call stuff if you have no idea what it does" Christian Graus in the C# forum
led mike
|
|
|
|
|
led mike wrote: If it is not firing then something is not set correctly.
I thought about that for a second then I realized that I didn't have AutoPostBack set to true for the control.
Works fine now Thanks for the heads up!
|
|
|
|
|
I have been working on an application that utilizes the DragDrop Event Handler. To accomplish this, I created a "public" variable named dragPoint which has both X and Y coordinates and made the assignment to that point in the MouseDown() Event handler.
The cursor remembers that clicked point on the control from the MouseDown() Event Handler when the user clicks on the control. However, the DragOver() Event handler does not reconcile that point click from the MouseDown() Event handler properly. Could somebody please provide some insights as I am missing some concept here.
The code is as follows:
private static void _ctrl_DragOver(object sender, DragEventArgs e)
{
try
{
if(DragDropHandler.CanDropHere((Control)sender, e.Data))
{
Control cthis = (Control)sender;
e.Effect = DragDropEffects.Move;
Control ctrl = DragDropHandler.GetControl(e.Data, false, true);
// Here is the code with the problem
Point NewLocation = cthis.PointToClient(new Point(e.X, e.Y));
ctrl.Left = NewLocationX + 2;
ctrl.Top = NewLocation.Y + 2;
// End problem code above
}
else
{
// Error Message
}
}
}
Note: I tried subtracting away the dragPoint.X from the "new Point()"
in the cthis.PointToClient() but that only causes the cursor to change to a circle with a slash through it indicating a mathematical conceptual error somewhere. I also tried to add the dragPoint.X to the ctrl.Left and the ctrl.Top, and while that does work, it causes the cursor to be placed to the left and to the top at a point equal to the point that the control is clicked in the MouseDown() Event. When I tried to subtract the dragPoint.X and dragPoint.Y from the ctrl.Left and ctrl.Top statements, then the cursor changes again to a circle with a slash through it.
What concept have I missed here? Should I be using PointToClient() or PointToScreen() ot something else to get the cursor to drag from the point that the user clicks on the control?
// Alternate code tried
Point NewLocation = cthis.PointToClient(new Point(e.X - dragPoint.X, e.Y - dragPoint.Y));
ctrl.Left = NewLocationX - dragPoint.X;
ctrl.Top = NewLocation.Y - dragPoint.Y;
// End alternate code tried
-- modified at 18:31 Saturday 6th May, 2006
|
|
|
|
|
Try using an offset with respect to the initial position. Modify your alternate code as follows:
<br />
ctrl.Left = ctrl.Left + e.X - dragPoint.X;<br />
ctrl.Top = ctrl.Top + e.Y - dragPoint.Y;<br />
|
|
|
|
|
Is there a program out there that can read tags for .m4a files (itunes formats) and that has source code for c#? I already found one for reading id3 tags on .mp3 files here: http://www.codeproject.com/csharp/ShellID3TagReader.asp, but I have yet to find one that will work on .m4a files.
Thanks!
|
|
|
|
|
|
Should be in the .NET framework install dir. I have 2 versions (in for 1.1 and one for 2.0).
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
i've serched into all my pc but no found.
Where can i downalod it? and where can i found a tutorial to use?
|
|
|
|
|
Susuko wrote: Where can i downalod it?
You could try reinstalling the .NEt framework or VS200x.
Susuko wrote: where can i found a tutorial to use?
Here are a few:/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
Hello
I want convert a file into a stream.
I do it like this:
FileInfo fl = new FileInfo(@"C:\test.wav");
Stream sm = fl.Open(FileMode.Open);
But I do not think this is the best way to do it!
Can someone tell me if this is a good way, or maybe tell me a better way of how to do this?
Thanks
QzRz
|
|
|
|
|
This is a good way, but the FileInfo object is not necessary (unless you are using it somewhere else).
Try this:
Stream sm = new FileStream(@"C:\test.wav", FileMode.Open);
Hope this helps,
DigitalKing
|
|
|
|