0
votes

Comment ajouter de l'espace automatiquement après 10 caractères entrés dans la zone de texte

private void txtNumber_PasteCommand(object sender, ExecutedRoutedEventArgs e)
{
   string _copiedText = Clipboard.GetText();
   _copiedText = _copiedText.Replace("\n", " ").Replace("\r", "").Replace("'", "").Replace("\"", "") + " ";
   if (!string.IsNullOrEmpty(txtNumber.SelectedText))
   {
      txtNumber.SelectedText = _copiedText;
   }
   else
   {
      txtNumber.Text += _copiedText;
      txtNumber.Select(txtNumber.Text.Length, 1);
      txtNumber.ScrollToEnd();
      txtNumber.Focus();
   }
}

2 commentaires

Veuillez inclure le code que vous utilisez dans txtnumber_pastecommand


Mais quand je copierais et coller, il a de l'espace mais seulement lorsque je suis entré dans un numéro, il ne prendra pas de place.


3 Réponses :


0
votes
private string textData;
public string TextData { get => textData; set => textData = SplitText(value,10); }

7 commentaires

Il fonctionne pour Copy Coller mais je veux prendre un espace lorsque j'entrerai le numéro


Pas à chaque fois le nombre de collants quelque temps que je tape le numéro que cela ne prendra pas de place


Pouvez-vous s'il vous plaît ajouter du code pour l'événement txtnumber_textChanged


Je l'ai utilisé mais ça ne peut pas travailler pouvez-vous me donner un code complet, je pense que je ne vous obtiens pas


Quel défi que vous êtes confronté?


Avez-vous utilisé une interface toofinyPropertyChanged?


Laissez-nous Continuez cette discussion en chat .



0
votes

Je résolvez cela mon auto xxx


0 commentaires

0
votes
private void txtNumber_KeyDown(object sender, KeyEventArgs e)
        {
            try
            {
                int pos = 0;
                int len = txtNumber.Text.Length;
                string s = txtNumber.Text;

                while (true)
                {
                    if (pos >= len) break;
                    if (space == s[pos] && (((pos + 1) % 11) != 0 || pos + 1 == s.Length))
                    {
                        s.Remove(pos, pos + 1);
                        txtNumber.Select(txtNumber.Text.Length, 1);
                        txtNumber.ScrollToEnd();
                        txtNumber.Focus();
                    }
                    else
                    {
                        pos++;
                    }
                }
                pos = 10;
                while (true)
                {
                    if (pos >= len) break;
                    char c = s[pos];
                    if (char.IsDigit(c))
                    {
                        s = s.Insert(pos, "" + space);
                        txtNumber.Text = s;
                    }
                    pos += 11;
                    txtNumber.Select(txtNumber.Text.Length, 1);
                    txtNumber.ScrollToEnd();
                    txtNumber.Focus();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
I solve this using KeyDown event

0 commentaires