|
Simple; put an # include directive in your C# and run it through a C pre-processor.
|
|
|
|
|
Good Day Everybody....
i've been trying to move a value to a textbox control from another thread... I tried so many things but it doesn't work. Anybody who can help me, i really need it badly. Thnx n advance to kind people who r ready to share thier knowledge.
below are my coding:
-------------------
form1.cs
------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace webbrowser
{
public partial class WebBrowser : Form
{
public delegate void DisplayHandler(string stringMessage);
public event DisplayMessage;
public WebBrowser()
{
InitializeComponent();
}
private void WebBrowser_Load(object sender, EventArgs e)
{
Thread threadSocket = new Thread(new ThreadStart(StartSocket));
threadSocket.Start();
}
public static void StartSocket()
{
SocketServer mySocket = new SocketServer();
mySocket.SocketDataArrival += new SocketServer.SocketServerHandler(ShowDataArrival);
mySocket.InititateServer();
}
void DisplayMessage(string stringMessage)
{
TxtBoxMsg.Text = stringMessage;
}
static void ShowDataArrival(object a, SocketServerArgs e)
{
DisplayHandler d = new DisplayHandler();
d.Invoke(e.Message);
}
}
}
---------------------------
Class1.cs
-----------
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.IO;
namespace webbrowser
{
public class SocketServer
{
public delegate void SocketServerHandler(object myObject, SocketServerArgs myArgs);
public event SocketServerHandler SocketDataArrival;
public void InititateServer()
{
StreamWriter streamWriter;
StreamReader streamReader;
NetworkStream networkStream;
TcpListener tcpListener = new TcpListener(8000);
tcpListener.Start();
Socket serverSocket = tcpListener.AcceptSocket();
try
{
if (serverSocket.Connected)
{
networkStream = new NetworkStream(serverSocket);
streamWriter = new StreamWriter(networkStream);
streamReader = new StreamReader(networkStream);
SocketServerArgs myArgs = new SocketServerArgs(streamReader.ReadLine());
SocketDataArrival(this, myArgs);
}
}
catch (SocketException ex)
{
Console.WriteLine(ex);
}
}
public SocketServer()
{
}
}
public class SocketServerArgs : EventArgs
{
private string message;
public SocketServerArgs(string message)
{
this.message = message;
}
public string Message
{
get
{
return message;
}
}
}
}
xxx
|
|
|
|
|
|
thanks for your idea but I had tried the solutions recomended before and it still doesnt work...
1. the textbox control can't be seen in the calling class thread.
2. I incountered an error when i use a delegate & invoked method as advice by most of the experts.
xxx
|
|
|
|
|
Dont know if is the best option but you can use a static property and then create an event handler that is fired when that property changes. i.e. thread sets property to required string
Then your text box can listen for the event and load the static property value as its text
|
|
|
|
|
thanks for your idea but I had done it but it doesn't work.
xxx
|
|
|
|
|
"Synchronization in Threads
When we have multiple threads that share data, we need to provide synchronized access to the data. We have to deal with synchronization issues related to concurrent access to variables and objects accessible by multiple threads at the same time. This is controlled by giving one thread a chance to acquire a lock on the shared resource at a time. We can think it like a box where the object is available and only one thread can enter into and the other thread is waiting outside the box until the previous one comes out."
As quoted from a Code Project Article[^].
The_Collector wrote: Thnx n advance to kind people who r ready to share thier knowledge
I ain't that kind
I are troll
|
|
|
|
|
Thank you again for ur quotes but it doesn't help me....
xxx
|
|
|
|
|
"A Textbox from another thread"?
Textboxes should be confined to the UI-thread
I are troll
|
|
|
|
|
i am attaching the complete codes on my post.... i don't know what to do anymore,,,, i'm stack.... tnx
xxx
|
|
|
|
|
i don't want to be spoonfeed but at this point, i really need a solution.... tnx again
xxx
|
|
|
|
|
I really need to stop smoking..
You were about to post code. I'll try to run your version on my machine tonight and see if I can find anything
I are troll
|
|
|
|
|
thanks a lot::::
below are my coding just to make sure :
-------------------
form1.cs
------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace webbrowser
{
public partial class WebBrowser : Form
{
public delegate void DisplayHandler(string stringMessage);
public event DisplayMessage;
public WebBrowser()
{
InitializeComponent();
}
private void WebBrowser_Load(object sender, EventArgs e)
{
Thread threadSocket = new Thread(new ThreadStart(StartSocket));
threadSocket.Start();
}
public static void StartSocket()
{
SocketServer mySocket = new SocketServer();
mySocket.SocketDataArrival += new SocketServer.SocketServerHandler(ShowDataArrival);
mySocket.InititateServer();
}
void DisplayMessage(string stringMessage)
{
TxtBoxMsg.Text = stringMessage;
}
static void ShowDataArrival(object a, SocketServerArgs e)
{
DisplayHandler d = new DisplayHandler();
d.Invoke(e.Message);
}
}
}
---------------------------
Class1.cs
-----------
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.IO;
namespace webbrowser
{
public class SocketServer
{
public delegate void SocketServerHandler(object myObject, SocketServerArgs myArgs);
public event SocketServerHandler SocketDataArrival;
public void InititateServer()
{
StreamWriter streamWriter;
StreamReader streamReader;
NetworkStream networkStream;
TcpListener tcpListener = new TcpListener(8000);
tcpListener.Start();
Socket serverSocket = tcpListener.AcceptSocket();
try
{
if (serverSocket.Connected)
{
networkStream = new NetworkStream(serverSocket);
streamWriter = new StreamWriter(networkStream);
streamReader = new StreamReader(networkStream);
SocketServerArgs myArgs = new SocketServerArgs(streamReader.ReadLine());
SocketDataArrival(this, myArgs);
}
}
catch (SocketException ex)
{
Console.WriteLine(ex);
}
}
public SocketServer()
{
}
}
public class SocketServerArgs : EventArgs
{
private string message;
public SocketServerArgs(string message)
{
this.message = message;
}
public string Message
{
get
{
return message;
}
}
}
}
xxx
|
|
|
|
|
using System;
using System.Windows.Forms;
using System.Threading;
namespace webbrowser
{
public partial class WebBrowser : Form
{
public delegate void DisplayHandler(string stringMessage);
public WebBrowser()
{
InitializeComponent();
}
private Thread threadSocket;
private SocketServer mySocket;
private void WebBrowser_Load(object sender, EventArgs e)
{
threadSocket = new Thread(StartSocket);
threadSocket.Start();
}
public void StartSocket()
{
mySocket = new SocketServer();
mySocket.SocketDataArrival += ShowDataArrival;
mySocket.InititateServer();
}
public void DisplayMessage(string stringMessage)
{
TxtBoxMsg.Text = stringMessage;
}
void ShowDataArrival(object a, SocketServerArgs e)
{
DisplayHandler d = DisplayMessage;
d.Invoke(e.Message);
}
}
}
Something like this?
I are troll
|
|
|
|
|
hi, god day,,,
i tried to run your corrected code but it will still give the same error
"Cross-thread operation not valid: Control 'TxtBoxMsg' accessed from a thread other than the thread it was created on."
xxx
|
|
|
|
|
your suggested code did not run, however i still want to thank you for your effort done. your code really help a lot to solve my problem... I made a little adjustment on your corrected code....
again, thank you very much
using System;
using System.Windows.Forms;
using System.Threading;
namespace webbrowser
{
public partial class WebBrowser : Form
{
public delegate void DisplayHandler(string stringMessage);
//public event DisplayMessage;
public WebBrowser()
{
InitializeComponent();
}
private Thread threadSocket;
private SocketServer mySocket;
private void WebBrowser_Load(object sender, EventArgs e)
{
threadSocket = new Thread(StartSocket);
threadSocket.Start();
}
public void StartSocket()
{
mySocket = new SocketServer();
mySocket.SocketDataArrival += ShowDataArrival;
mySocket.InititateServer();
}
public void DisplayMessage(string stringMessage)
{
this.TxtBoxMsg.Text = stringMessage;
}
void ShowDataArrival(object a, SocketServerArgs e)
{
//DisplayHandler d = DisplayMessage;
//d.Invoke(e.Message);
DisplayHandler d = new DisplayHandler(DisplayMessage);
this.TxtBoxMsg.Invoke(d, new object[] { e.Message });
}
}
}
xxx
|
|
|
|
|
Well done
I are troll
|
|
|
|
|
I am writing a a piece of software that includes a library that plays sounds that I would like to prevent.
Is there a way in .NET to mute my current process?
Thanks,
S.
|
|
|
|
|
No. Your code has to just not play sounds. You cannot mute individual processes.
|
|
|
|
|
Dave Kreskowiak wrote: You cannot mute individual processes.
As far as I remember this is possible on Vista. I'm not sure there an API call for that, though.
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Maybe you can replace the relevant sound files with a sound file that is 0 seconds of silence or something like that?
just be careful if it's a commercial thing with an evil license that promises eternal doom to people who try to mod it
|
|
|
|
|
Hi Team,
The required functional logic is to convert audio formats VOX file to MP3 format.What exactly I m looking for a logic to fullfill the above functionality.
Could anybody help me out from this scenario.
Thanks & Regards
Tarun Singh
Sr. Software Engineer. (IT)
ZENTA
|
|
|
|
|
not done that before but what i suggest is you find out how both file formats are stored i.e. the raw data of each file.
then write an algorithm to write the mp3 file in its correct format based on the values you read from the VOX file
|
|
|
|
|
I'm writing a Word add-in in .NET 3.5 and have some user settings in my app.config.
When installed at a user, where are these settings stored?
When the user save a setting, it's not stored in the .config file where the DLL is, and I can not find it anywhere else...
Anyone who knows?
- Anders
|
|
|
|
|
User settings are written to isolated storage, e.g. C:\Documents and Settings\Administrator\Local Settings\Application
Data\My Company\My Word Addin\1.1.0.0"
|
|
|
|