|
ibrahimayhans wrote: Only when the user clicks with the mouse, it focuses on the pressed point
This Data Entry Is Incorrect and Incomplete Your perception is incorrect. The described behaviour is default in Windows, and Windows apps should adhere to the standard.
ibrahimayhans wrote: MaskedTextBox with User Mouse and Tab How I Can Focus on the Top of the Beginning If you tab into it, you are at the beginning.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
I'm Into Content With TAB
Only User Uses Mouse Sometimes
There are such Problems when you click
|
|
|
|
|
ibrahimayhans wrote: Only User Uses Mouse Sometimes
There are such Problems when you click It is not a problem, it is how it is supposed to work. When activating a control with the mouse, the cursor does not go to the start but where you select. All controls work like that. Making it work differently means unexpected behaviour.
Also, someone doing data-entry does not move to the next control using the mouse, it would make for very inefficient data-entry.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
I think you are asking how to move the textbox caret to position 0 when the empty textbox is clicked.
The first part is to get the empty state of the maskedtextbox before any data has been entered. At that point the Text property value is not String.Empty but a representation of the mask. This 'empty' text can be obtained by capturing the Text when the MaskChanged event fires. For your example it is
"( ) "
The second part is picking a suitable place to move the caret. When an unfocussed textbox is clicked the sequence of Enter, GotFocus and Click events occur. You'll find that attempting to set the caret position in either the Enter or GotFocus events will fail and changes must be made in the Click event handler.
Combining that information gives some prototype code
private String emptyText;
private void MaskedTextBox_MaskChanged(object sender, EventArgs e) {
MaskedTextBox mtbx = (MaskedTextBox)sender;
emptyText = mtbx.Text;
}
private void MaskedTextBox_Click(object sender, EventArgs e) {
MaskedTextBox mtbx = (MaskedTextBox)sender;
String currentText = mtbx.Text;
if (currentText == emptyText) {
mtbx.Select(0, 0);
}
}
EDIT : Correct operation of this code requires that the MaskChanged event handler is attached before the Mask is set.
Alan.
|
|
|
|
|
Hello everyone and specially Jose Menendez Póo, author of the Quote: A Professional Calendar/Agenda View That You Will Use article.
I must say that I'm overwhelmed by its complexity and beauty.
I wonder if any of you, who are familiar with this project, have any kind of written stuff or any kind of notes explaining the project in some details.
Also, the project uses a utility class of the name Quote: System.Windows.Forms.Calendar.dll and I wonder again if the class is ever published, or if any of you have access to it in the non compiled version, So I can study it.
I hope to get an answer here.
Thank you all,
Mark
|
|
|
|
|
The place for asking about things from an article is the discussion at the foot of the article itself. Here, you're hoping the author might stumble across your message. There, he will be notified of your inquiry.
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
Member 12823445 wrote: if the class is ever published, or if any of you have access to it in the non compiled version
If it's part of .NET, then it's in the Reference Source[^]
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
To add to what Griff said; you can easily decompile any .NET assembly. I'm using ILSpy, but there are more alternatives.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp5
{
class Parser
{
public int res;
char element_of_arr;
string text;
public Parser(string input)
{
text = input;
}
public int String_Parser()
{
for (int i = 0; i != text.Length; i++)
{
char element_of_arr = text[i];
switch (element_of_arr)
{
case '1':
res *= 10 + 1;
break;
case '2':
res *= 10 + 2;
break;
case '3':
res *= 10 + 3;
break;
case '4':
res *= 10 + 4;
break;
case '5':
res *= 10 + 5;
break;
case '6':
res *= 10 + 6;
break;
case '7':
res *= 10 + 7;
break;
case '8':
res *= 10 + 8;
break;
case '9':
res *= 10 + 9;
break;
case '0':
res *= 10;
break;
}
}
return res;
}
}
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Write digits");
string input = Console.ReadLine();
Console.WriteLine("Try parse it...");
Parser text = new Parser(input);
Console.WriteLine(text.String_Parser());
Console.ReadKey();
}
}
}
|
|
|
|
|
Your calculations are wrong res *= 10 + 3; is the same as res *= 13; But you do not need that switch statement, just replace it with:
res *= 10;
res += element_of_arr - '0';
|
|
|
|
|
res is integer, which is a value type - so it's default value is zero.
When you do this:
res *= 10 + 1; You are effectively saying this:
res = res * (10 + 1); Not
res = (res * 10) + 1;
So if you start with zero, you will always get zero as a result.
But is there a good reason why you don't just use int.TryParse:
Console.WriteLine("Try parse it...");
int result;
if (int.TryParse(input, out result))
{
Console.WriteLine(result);
}
else
{
Console.WriteLine(string.Format("\"{0}\" is not a valid integer", input));
}
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Moving code from form to form
|
|
|
|
|
E-i-e-i-o
This space for rent
|
|
|
|
|
Your minimalist approach to asking questions and describing problems does nothing for you at all.
It's simply not possible to provide you any helpful information because nobody has any clue what you're talking about!
|
|
|
|
|
Ctrl-C Ctrl-V
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
He said moving, not copying.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
ctrl-X ctrl-v, then?
"Never attribute to malice that which can be explained by stupidity."
- Hanlon's Razor
|
|
|
|
|
Using my way, he can go back and re-do the Ctrl-C when he accidently hits Ctrl-C on an empty line in the new file (we've all done it).
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Yep - that's a particularly stupid option, and one of the first things I turn off.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
from time to time, I see some sample code that is handed to me that has a code snippet that looks like this:
<code>public string Name { get; set; }</code>
Does this actually do anything? Does it really make it so that one can set and get the "Name" string variable?
I have always thought that what is required is something like this:
<code>private string name;
public string Name
{
get
{
return this.name;
}
set
{
this.name = value;
}
}</code>
Am I correct?
Please advise.
|
|
|
|
|
|
how to create interface loging
|
|
|
|
|
Use ILog<t> where : T interface
Or for a real answer that will work, please be more specific.
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
|
|
|
|
|
This is not a good question - we cannot work out from that little what you are trying to do.
Remember that we can't see your screen, access your HDD, or read your mind - we only get exactly what you type to work with.
So stop trying to type as little as possible and help us to help you!
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I am using custom client connection for 10 tcp clients.
bool _flagScanner1Connect = true;
private xyzTranmissionProtocol xyz1TranmissionProtocol = null;
private static readonly object LockWhileConnectingForScanner1 = new object();
internal ICustomClient Scanner1Conn;
System.Threading.Timer _tmrCheck1ClientConn;
public void Start1ScannerConn() { try { _tmrCheck1ClientConn = new System.Threading.Timer(Check1ScannerConn, null, TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(5));
}
catch (Exception )
{
}
}
private void Check1ScannerConn(object state)
{ if (!_flagScanner1Connect) return;
lock (LockWhileConnectingForScanner1) {
if (Scanner1Conn == null || Scanner1Conn.CommunicationState == ClientCommunicationStates.Disconnected) {
try { _tmrCheck1ClientConn.Change(Timeout.Infinite, Timeout.Infinite);
Scanner1Conn = CustomClientFactory.CreateClient(new CustomClientTcpEndPoint(“Scanner IpAdress”, “Scanner Port Number”));
Scanner1Conn.Connected += Scanner1Conn_Connected; ;
Scanner1Conn.Disconnected += Scanner1Conn_Disconnected;
Scanner1Conn.MessageReceived += Scanner1Conn_MessageReceived;
xyz1TranmissionProtocol = new xyzTranmissionProtocol();
Scanner1Conn.TransmissionProtocol = xyz1TranmissionProtocol;
Scanner1Conn.Connect();
//SEND A PING MESSAGE
_tmrCheck1ClientConn.Change(TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(5));
}
catch (Exception )
{
if (_flagScanner1Connect)
try
{
Scanner1Conn?.Disconnect();
}
catch { }
try
{
Scanner1Conn?.Dispose();
}
catch { }
try
{
Scanner1Conn = null;
}
catch { }
}
finally
{
_tmrCheckClientConn.Change(TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(5));
}
}
}
}
I have written 10 different functions for 10 bar code scanners. above code is for 1 scanner. if i use 3 scanners or less than 3 my application will work. but if i use more than 3 scanners then message received events will not work And the application will become very slow. can anyone help me out to solve this issue.
|
|
|
|