|
Hy guys.
I'm Alessio, I don't speak english very well, so excuse me in advance.
I'm writing because I'm getting an error when I use the Graphics.DrawImage method with ImageAttributes parameter.
I've created a Form class to customize the TitleBar.
This "base" form is borderless and in the Constructor I store a small "gif" (30-40 Kb) in a bitmap object with the TitleBar I want to put in the form.
In the paint event I call a procedure passing the PaintEventArgs Graphic object and then I call the DrawImage using the bitmap object.
When the form has got the focus, I call "simple" DrawImage method, but when this form loss the focus, I use the ImageAttributes.SetGamma to brighten up the TitleBar (I pass "0.55f" to SetGamma) and then I call DrawImage passing the ImageAttributes object.
When I run my project, it's ok, but if I create a form that inherits from the "base form", and run the project, I've got an "out of memory" error when this form loss the focus.
Can you help me to understand ?
Thanx anyway
Alessio
|
|
|
|
|
Just a correction.
In that project I can load image from an extern file or from an embedded image I had added in project resource file.
In both cases I tried gif, png & jpg.
When forms are using external images, it's all right but when they use embedded image the "out of memory" error comes up.
I load this image in a Stream object through "Assembly.GetManifestResourceStream" method and then I create my bitmap object by "new Bitmap(MyStreamObj);".
If I use an Image object instead of the Bitmap object, all works fine, but I need Bitmap object because in the case of jpg images I need to call MakeTransparent method.
So, please, help me.
|
|
|
|
|
hi
i have a button in my page and add this attribute to button
<<button.attribute.add("onclick","<u>javascript:return confirm('Message');")>>
and also i have a textbox in my page that a requirefiledvalidator check that control not be empty.
if i click button, confirm window occur for me and if i press <<ok>> the code of this event execute while textbox is empty and validator not check the textbox. when event onclick of button finished validator check the textbox.
please help me.
thanks a lot.
|
|
|
|
|
hi there,
did u set isvalid = true in ur aspx page?
anyway, this is for C#, not ASP.NET forum ;(
<< >>
|
|
|
|
|
Hi all,
I want to place multiple bitmaps into one picturebox at the
same time placing them into different areas of the picture box.
Is it possible?
or any other way to do it.
Thanx
Rashid
|
|
|
|
|
Use the Graphics.DrawImage() either by creating a CreateGraphics() or Paint Event Handler e.Graphics
|
|
|
|
|
I have a class library written in C#. I have use it using "Add Reference" in a VB.NET windows application. Is there any way to lock the class library(dll) in such a way that no further "Add Reference" is possible ? Basically I want to prevent the reusability of the dll file for any other application except the VB.NET application, I told above. Is there any way to do such things?
Thank you in advance.
Anindya Chatterjee
|
|
|
|
|
hi there,
Why do u want to do that???
.NET is designed as OOP to save time/cost to develop software by reusablity mechanism!!!!. Just my thought
<< >>
|
|
|
|
|
If your code is ran trhough an obfuscator you could add require hte constructors of all the classes in the dll to fail if not provided a correct magic number. This would require modification of the calling app however.
|
|
|
|
|
I want to instance StrongNameMembershipCondition class.
[C#]
public StrongNameMembershipCondition(
StrongNamePublicKeyBlob blob,
string name,
Version version
);
the type of parameter blob is StrongNamePublicKeyBlob. I do not know how to get the parameter.
Can you help me? give some code.Thanks!
|
|
|
|
|
|
Hi,
I have the following regular expression:
// Validate news ID
Regex objPattern = new Regex(@"\d$");
string strID = Request.QueryString["id"].Trim();
bool boolSucess = objPattern.Match(strID).Success;
Basically this must test if id is just numeric. If I were to type in 44, then it is fine, if I type in 44E, then it is wrong. But when I type in 44.0 then the success is true. Why is this? I only want digits from 0-9 displayed, nothing else, no commas or decimal points.
Please could someone help. Let me know if my regular expression is incorrect.
Regards,
ma se
|
|
|
|
|
@"^\d+$"
xacc-ide 0.0.99-preview7 now with C#, C, C++, IL, XML, Nemerle, IronPython, Perl, Caml, SML, Ruby, Flex, Yacc, Java, Javascript, Lua, Prolog and Boo highlighting support!
|
|
|
|
|
Can anyone tell me how to create and delete a scheduled task in Windows. This can be accomplished using the AT command in DOS but I am unable to delete the scheduled task.
|
|
|
|
|
how can i create a DWORD value in the registry. Is the Microsoft.Win32.Registry class sufficient enough to do this. I checked the documentation but I couldn't find anything on DWORD values
|
|
|
|
|
SetValue("KEY", 5);
xacc-ide 0.0.99-preview7 now with C#, C, C++, IL, XML, Nemerle, IronPython, Perl, Caml, SML, Ruby, Flex, Yacc, Java, Javascript, Lua, Prolog and Boo highlighting support!
|
|
|
|
|
Hi,
I am a beginner in XML,I have to update a particular element based on some action(say a button click) .
I need to select that element and Update all the attributes ,values everything to new values which will be accepted through a user interface
I know it may be simple.To be more precise I want the similar operation that we normally perform in a database .That is update the record if its already present.
Thanks
|
|
|
|
|
Hi
This is easy .. if you know how to but c# (and .NET) is new to me .. so how do I do this.
I have a Form with 1 button (start) and 1 multi line text_box.
The start button calls a method wich copies files from one location to an other.
While coping, I want to show the progress by adding each file name to the text_box once its been copied.
I think I should run the import process in a separate thread, but cant get it to work (the text_box is opdated when all files are copied)
Can any of you c# experts give me a hint / example?
Cheers!
/Anders
|
|
|
|
|
Hi!
If you are adding text to the TextBox from a different thread, you'll have to use Invoke or BeginInvoke to call a delegate to insert the text.
You can also keep the copying in your main thread and just call Application.DoEvents() after appending the text.
That way the UI thread will process messages and your TextBox will be updated eventually.
Regards,
mav
|
|
|
|
|
Hi,
I have a windows form on which i have placed some controls. Basically the i get exception on line on which first text box is instantiated. This problem is only with Text Boxes. All other controls are instantiated well. Any solution please...
|
|
|
|
|
May it be a syntax error, in the code right above the instantiation.
"I am a lair" Is this statement true or false ?
|
|
|
|
|
Hi!
Knowing which exception is thrown would help tremendously.
Right now you just said "something is wrong". How are we to help you if you don't tell us what exactly is happening?
mav
|
|
|
|
|
The exception is basically ArithmaticException that is just thrown on the line on which i instantiate my first TextBox
|
|
|
|
|
That's not helpful!
You MUST start posting code and the real excaption info or no-one is able to help you!
mav
|
|
|
|
|
Hi!, I want to exchange multiple messages between my server and client.But the trouble is that no furthur messages are sent after the first exchange.
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using Microsoft.Samples.Security.SSPI;
using Microsoft.Samples.Security.SSPI.Sample.ClassLibrary.Server;
using Microsoft.Samples.Security.SSPI.Sample.ClassLibrary.Client;
This is my server code
// State object for reading client data asynchronously
public class StateObject
{
// Client socket.
public Socket workSocket = null;
// Size of receive buffer.
public const int BufferSize = 1024;
// Receive buffer.
public byte[] buffer = new byte[BufferSize];
// Received data string.
public StringBuilder sb = new StringBuilder();
}
public class AsynchronousSocketListener
{
// Incoming data from client.
public static string data = null;
// Thread signal.
public static ManualResetEvent allDone = new ManualResetEvent(false);
public AsynchronousSocketListener()
{
}
public static void StartListening()
{
// Data buffer for incoming data.
byte[] bytes = new Byte[1024];
// Establish the local endpoint for the socket.
// The DNS name of the computer
// running the listener is "host.contoso.com".
Console.WriteLine(Dns.GetHostName().ToString());
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 5000);
// Create a TCP/IP socket.
Socket listener = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp );
// Bind the socket to the local endpoint and listen for incoming connections.
try
{
listener.Bind(localEndPoint);
listener.Listen(100);
while (true)
{
// Set the event to nonsignaled state.
allDone.Reset();
// Start an asynchronous socket to listen for connections.
Console.WriteLine("Waiting for a connection...");
listener.BeginAccept(
new AsyncCallback(AcceptCallback),
listener );
// Wait until a connection is made before continuing.
allDone.WaitOne();
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
Console.WriteLine("\nPress ENTER to continue...");
Console.Read();
}
public static void AcceptCallback(IAsyncResult ar)
{
// Signal the main thread to continue.
allDone.Set();
// Get the socket that handles the client request.
Socket listener = (Socket) ar.AsyncState;
Socket handler = listener.EndAccept(ar);
// Create the state object.
StateObject state = new StateObject();
state.workSocket = handler;
handler.BeginReceive( state.buffer, 0, StateObject.BufferSize, 0,
new AsyncCallback(ReadCallback), state);
}
public static void ReadCallback(IAsyncResult ar)
{
String content = String.Empty;
// Retrieve the state object and the handler socket
// from the asynchronous state object.
StateObject state = (StateObject) ar.AsyncState;
Socket handler = state.workSocket;
// Read data from the client socket.
int bytesRead = handler.EndReceive(ar);
if (bytesRead > 0)
{
// There might be more data, so store the data received so far.
state.sb.Append(Encoding.ASCII.GetString(
state.buffer,0,bytesRead));
// Check for end-of-file tag. If it is not there, read
// more data.
content = state.sb.ToString();
if (content.IndexOf("<eof>") > -1)
{
// All the data has been read from the
// client. Display it on the console.
Console.WriteLine("Read {0} bytes from socket. \n Data : {1}",
content.Length, content );
// Echo the data back to the client.
Send(handler, content);
}
else
{
// Not all data received. Get more.
handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0,
new AsyncCallback(ReadCallback), state);
}
}
}
private static void Send(Socket handler, String data)
{
// Convert the string data to byte data using ASCII encoding.
StringBuilder appendEof = new StringBuilder();
ServerContext _ServerContext = null;
ServerCredential serverCred =
new ServerCredential(Credential.Package.NTLM);
_ServerContext = new ServerContext(serverCred,Encoding.ASCII.GetBytes(data));
//string eof="<eof>";
appendEof.Append(_ServerContext.Token);
//appendEof.Append(eof);
//byte[] byteData = Encoding.ASCII.GetBytes(appendEof.ToString());
// Begin sending the data to the remote device.
handler.BeginSend(_ServerContext.Token, 0, _ServerContext.Token.Length, 0,
new AsyncCallback(SendCallback), handler);
}
private static void SendCallback(IAsyncResult ar)
{
try
{
// Retrieve the socket from the state object.
Socket handler = (Socket) ar.AsyncState;
// Complete sending the data to the remote device.
int bytesSent = handler.EndSend(ar);
Console.WriteLine("Sent {0} bytes to client.", bytesSent);
//handler.Shutdown(SocketShutdown.Both);
//handler.Close();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
public static int Main(String[] args)
{
StartListening();
return 0;
}
}
This is my client code
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Text;
using Microsoft.Samples.Security.SSPI;
using Microsoft.Samples.Security.SSPI.Sample.ClassLibrary.Server;
using Microsoft.Samples.Security.SSPI.Sample.ClassLibrary.Client;
// State object for receiving data from remote device.
public class StateObject
{
// Client socket.
public Socket workSocket = null;
// Size of receive buffer.
public const int BufferSize = 256;
// Receive buffer.
public byte[] buffer = new byte[BufferSize];
// Received data string.
public StringBuilder sb = new StringBuilder();
}
public class AsynchronousClient
{
// The port number for the remote device.
private const int port = 5000;
// ManualResetEvent instances signal completion.
private static ManualResetEvent connectDone =
new ManualResetEvent(false);
private static ManualResetEvent sendDone =
new ManualResetEvent(false);
private static ManualResetEvent receiveDone =
new ManualResetEvent(false);
public ClientCredential clientCred;
public ClientContext clientContext;
// The response from the remote device.
private static String response = String.Empty;
private static void StartClient()
{
// Connect to a remote device.
try
{
// Establish the remote endpoint for the socket.
// The name of the
// remote device is "host.contoso.com".
IPHostEntry ipHostInfo = Dns.Resolve("impetus-591");
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint remoteEP = new IPEndPoint(ipAddress, port);
// Create a TCP/IP socket.
Socket client = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
// Connect to the remote endpoint.
client.BeginConnect( remoteEP,
new AsyncCallback(ConnectCallback), client);
connectDone.WaitOne();
//Assigning NTLM package
ClientCredential clientCred =new ClientCredential(Credential.Package.NTLM);
//Establishing context
ClientContext clientContext =new ClientContext(clientCred, "",ClientContext.ContextAttributeFlags.None);
string tokenString=Encoding.ASCII.GetString(clientContext.Token);
// Send test data to the remote device.
Send(client,"<eof>",tokenString);
sendDone.WaitOne();
// Receive the response from the remote device.
Receive(client);
receiveDone.WaitOne();
// Write the response to the console.
Console.WriteLine("Response received : {0}", response.Length);
/*
// complete the authentication handshake
while (clientContext.ContinueProcessing == true)
{
try
{
clientContext.Initialize(Encoding.ASCII.GetBytes(response));
}
catch(Exception ex)
{
Console.WriteLine("\nException: ",ex.ToString());
}
if (clientContext.Token != null)
{
// send the authenticate request to the server
//Console.WriteLine("\nSending the authentication request now..."+clientContext.Token.Length);
tokenString=Encoding.ASCII.GetString(clientContext.Token);
Send(client,"<eof>",tokenString);
sendDone.WaitOne();
//Recieve the response from the server
//Receive the response from the remote device.
Receive(client);
receiveDone.WaitOne();
/*if(length!=0)
{
Console.WriteLine("The length of server response is "+length);
Byte[] serverToken1=new Byte[length];
Console.WriteLine("Reading the server response now..\n");
serverToken1=binaryReader.ReadBytes(length);
}*/
// }
//}
//Console.WriteLine("\n Authentication Completed ");
// Release the socket.
client.Shutdown(SocketShutdown.Both);
client.Close();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
private static void ConnectCallback(IAsyncResult ar)
{
try
{
// Retrieve the socket from the state object.
Socket client = (Socket) ar.AsyncState;
// Complete the connection.
client.EndConnect(ar);
Console.WriteLine("Socket connected to {0}",
client.RemoteEndPoint.ToString());
// Signal that the connection has been made.
connectDone.Set();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
private static void Receive(Socket client)
{
try
{
// Create the state object.
StateObject state = new StateObject();
state.workSocket = client;
// Begin receiving the data from the remote device.
Console.WriteLine("Reading response from server::");
client.BeginReceive( state.buffer, 0, StateObject.BufferSize, 0,
new AsyncCallback(ReceiveCallback), state);
}
catch (Exception e)
{
Console.WriteLine("In exception:"+e.StackTrace);
}
}
private static void ReceiveCallback( IAsyncResult ar )
{
try
{
// Retrieve the state object and the client socket
// from the asynchronous state object.
StateObject state = (StateObject) ar.AsyncState;
Socket client = state.workSocket;
// Read data from the remote device.
int bytesRead = client.EndReceive(ar);
if (bytesRead > 0)
{
// There might be more data, so store the data received so far.
state.sb.Append(Encoding.ASCII.GetString(state.buffer,0,bytesRead));
// Get the rest of the data.
client.BeginReceive(state.buffer,0,StateObject.BufferSize,0,
new AsyncCallback(ReceiveCallback), state);
}
else
{
// All the data has arrived; put it in response.
if (state.sb.Length > 1)
{
response = state.sb.ToString();
}
// Signal that all bytes have been received.
receiveDone.Set();
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
private static void Send(Socket client, String data,String tokenstring)
{
StringBuilder appendEof = new StringBuilder();
appendEof.Append(tokenstring);
appendEof.Append(data);
// Convert the string data to byte data using ASCII encoding.
byte[] byteData = Encoding.ASCII.GetBytes(appendEof.ToString());
// Begin sending the data to the remote device.
client.BeginSend(byteData, 0, byteData.Length, 0,
new AsyncCallback(SendCallback), client);
//client.BeginSend(clientContext.Token, 0, clientContext.Token.Length, 0,
// new AsyncCallback(SendCallback), client);
}
private static void SendCallback(IAsyncResult ar)
{
try
{
// Retrieve the socket from the state object.
Socket client = (Socket) ar.AsyncState;
// Complete sending the data to the remote device.
int bytesSent = client.EndSend(ar);
Console.WriteLine("Sent {0} bytes to server.", bytesSent);
// Signal that all bytes have been sent.
sendDone.Set();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
public static int Main(String[] args)
{
StartClient();
return 0;
}
}
|
|
|
|
|