|
HTTP is inherently a stateless connection, and only keeps a connection open long enough to transfer the data. Using any of the HttpWeb classes, you won't be able to open a connection to a folder and then download files. You need to open a connection for each file you want to download.
In general, any time you are doing disk I/O operations (like saving the file as it is being downloaded) you should use async calls.
To do what you want you would need to program directly at the socket level, which is possible but not trivial.
If you have control over the files at the other end, you could create an archive of the files and download that instead of each individual file.
|
|
|
|
|
|
I have two forms. Form1 has a textbox and a button. Form2 has a label. When the button on form1 is clicked, form2 is opened and the text in the textbox in form1 is shown in the label of form2. To get the text in the textbox to appear in the label, the code I have for this is in the Form load event. In this event I want to check if the button on form 1 has been clicked. How do I do this?
I can access the button (located on form1) from form 2 by firstly making this public and then using this code:
((Form1)frm1).button1.
I do not know how to finish this line of code while it is in an IF statement.
Lucy
|
|
|
|
|
You can create a bool variable in Form1 and set it to true in the click event handler of your button. Then check it's value from your method in Form2.
|
|
|
|
|
Sorry I'm not sure how to do that. Can you explain your answer please?
Lucy
|
|
|
|
|
Events and delegates.
Either get Form2 to subscribe to Form1.Button's onclick event or capture the onclick event on form1 and tell Form2 it has been clicked using a delegate :-
<br />
public Event Eventhandler OnButton1Click;<br />
<br />
void form1_buttonClicked( objects sender , EventArgs args)<br />
{<br />
<br />
if (OnButton1Click != null)<br />
OnButton1Click( sender , args );<br />
}<br />
<br />
<br />
public void MyHandler( object sender , EventArgs args)<br />
{<br />
}<br />
<br />
<br />
<br />
form1.OnButton1Click += MyHandler;<br />
<br />
"More functions should disregard input values and just return 12. It would make life easier." - comment posted on WTF
"I haven't spoken to my wife now for 48 hours. I don't like to interrupt her.
|
|
|
|
|
set modifiers of your form2`s label to "public" in properties
then in button`s click event ,writes these codes
form2 frm = new form2();
frm.label2.Text = textbox1.Text;
frm.Show();
hope it will help...
Becoming Programmer...
|
|
|
|
|
I have tried that but it comes up with this error when you click the button:
Additional information: Object reference not set to an instance of an object.
I do not understand the other comments people have made as I am still very new to c#.
Lucy
|
|
|
|
|
i think you are clicking button when your textbox value is null
Becoming Programmer...
|
|
|
|
|
No the error still occurs when the textbox has text in it.
|
|
|
|
|
you are doing some mistakes
Becoming Programmer...
|
|
|
|
|
Yup - one of the first mistakes is making a control public. You really shouldn't make controls public because you have opened up the whole scope of what the control can do to another unrelated instance.
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
Another way is like this:
Add another Label to your class variables:
private System.Windows.Forms.Label Form2Label;
Create a method in form one like this:
public void getLabel(Label label) {
Form2Label = label;
}
Then, when you click the button in Form1 just add a bit of extra code.
Form2Label.Text = this.TextBox.Text;
Now when you start Form2, run the method, and pass it the label.
Form1.getLabel(this.label);
That should work. You'd have to try it out.
|
|
|
|
|
Try using this way
declare a bool variable in form2 with public accessiblity
like
<br />
public bool clicked;<br />
and in the form load event you can check like
<br />
if (clicked)<br />
{<br />
}<br />
in form1's button1's click event write
<br />
private void button1_Click(object sender, EventArgs e)<br />
{<br />
Form2 frm = new Form2();<br />
frm.clicked = true;<br />
frm.Show();<br />
}<br />
Paras Kaneriya The difference between genius and stupidity is that genius has its limits.
|
|
|
|
|
|
Use XPath. In particular the XmlDocument.SelectSingleNode(...) function.
|
|
|
|
|
:(Its not working.....
stil it showing error
System.Xml.XmlException: The tag from namespace is not expected. Line 3, position 2. at System.Xml.XmlReader.ReadElementString(String name) at ElsBook.First.Button1_Click(Object sender, EventArgs e)
If we give multiple number of read stmt, its working
|
|
|
|
|
try this
XmlDocument xmldoc = new XmlDocument();
FileStream fs = new FileStream(Xmlfilepath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
xmldoc.Load(fs);
XmlNodeList xmlnode = xmldoc.GetElementsByTagName("ABC");
for (int a = 0; a < xmlnode.Count; a++)
{
if (xmlnode[a].Attributes[0].Value == "requirednode")
{
}
}
Becoming Programmer...
|
|
|
|
|
Still some error......
Inside for loop.....
|
|
|
|
|
It would help everyone if you could provide a sample of the XML (even a subset would be good) and information about the error you are encountering. Saying you've run into an error leaves things up to a lot of interpretation.
[modification]And sample code showing how you are trying to read the file and go to the specific node would be helpful as well.[/modification]
|
|
|
|
|
This is the xml
<?xml version="1.0" encoding="UTF-8" ?>
<family>
<name gender="male">
<firstname>Tom</firstname>
<lastname>Smith</lastname>
</name>
</family>
and the code is --------
FileStream fs = new FileStream("D:\\Myfolder\\gender.xml", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
xmldoc.Load(fs);
XmlNodeList xmlnode = xmldoc.GetElementsByTagName("name");
for (int a = 0; a < xmlnode.Count; a++)
{
if (xmlnode[a].Attributes[0].Value == "gender")
// match your attributes
{ //codes
lblcnt.Text=a.ToString();
String firstNameValue = reader.ReadElementString("gender");
Lblmsg.Text=" FirstName: "+firstNameValue;
}
I tried this one also=======
XmlTextReader reader = new XmlTextReader ("D:\\Myfolder\\gender.xml");
XmlDocument xmldoc = new XmlDocument();
XmlTextReader reader = new XmlTextReader ("C:\\gender.xml");
try
{
while (!reader.EOF)
{
reader.Read();
if(reader.IsStartElement() )
{
reader.Read();
xmldoc.SelectSingleNode("family/name/firstname");
XmlNode xmlnode1=xmldoc.GetElementsByTagName("firstname");
String firstNameValue = reader.ReadElementString("firstname");
xmldoc.SelectSingleNode("lastname");
String lastNameValue = reader.ReadElementString("lastname");
Lblmsg.Text=" FirstName: "+firstNameValue + " LastName: " + lastNameValue;
}
}
reader.Close();
}
catch (Exception err )
{
Lblmsg.Text="Error: " + err.ToString();
}
-- modified at 23:06 Wednesday 12th September, 2007
|
|
|
|
|
Hi,
i am working in windows application of C#
i am using hash table.
i want to add data to hash table from datatable named DTSchool. I have a school name in combobox. when iselect school in combo it takes the curresponding SchoolID from the datatable
i want to know how to write code for that. i wrote like this
List.Add(SchoolDT.Rows[cboSchool.SelectedIndex]["SchoolID"],cboSchool.Text.ToString());
.But it is not taking value from datatable.Please help me regarding this problem?
|
|
|
|
|
Hi,
What is the Type of SchoolID? I am assuming it is "int" then you can try to write this line;
List.Add((int)SchoolDT.Rows[cboSchool.SelectedIndex]["SchoolID"],cboSchool.Text.ToString());
Mert Kantarcıoğlu
|
|
|
|
|
|
try reading these
1[^]
2[^]
It is Good to be Important but!
it is more Important to be Good
|
|
|
|