উইনফর্মস টেক্সটবক্স তৈরি করা আপনার ব্রাউজারের ঠিকানা বারের মতো আচরণ করে


154

যখন কোনও সি # উইনফরমস পাঠ্যবক্সটি ফোকাস পায়, আমি চাই এটি আপনার ব্রাউজারের ঠিকানা বারের মতো আচরণ করবে।

আমি কী বলতে চাইছি তা দেখতে, আপনার ওয়েব ব্রাউজারের ঠিকানা বারে ক্লিক করুন। আপনি নিম্নলিখিত আচরণ লক্ষ্য করবেন:

  1. পাঠ্যবক্সে ক্লিক করা সমস্ত পাঠ্য নির্বাচন করা উচিত যদি পাঠ্যবক্সটি আগে ফোকাস না করে।
  2. মাউস ডাউন করুন এবং টেক্সটবক্সে টেনে আনুন কেবল মাউসটি দিয়ে হাইলাইট করা পাঠ্য নির্বাচন করা উচিত।
  3. যদি পাঠ্যবক্সটি ইতিমধ্যে মনোনিবেশ করা থাকে, ক্লিক করা সমস্ত পাঠ্য নির্বাচন করে না।
  4. প্রোগ্রামটিমে টেক্সটবক্সে ফোকাস করা বা কীবোর্ড ট্যাবিংয়ের মাধ্যমে সমস্ত পাঠ্য নির্বাচন করা উচিত।

আমি উইনফোর্মে ঠিক এটি করতে চাই।

দ্রুততম গুন সতর্কতা: উত্তর দেওয়ার আগে দয়া করে নিম্নলিখিতটি পড়ুন! ধন্যবাদ বন্ধুরা. :-)

.Eteter বা .GotFocus ইভেন্টের সময় .ElectAll () এ কল করা হবে না কারণ ব্যবহারকারী যদি পাঠ্যবক্সটি ক্লিক করেন, যেখানে তিনি ক্লিক করেছেন সেখানে ক্যারেটটি স্থাপন করা হবে, সুতরাং সমস্ত পাঠ্যটি অনির্বাচিত করে।

.কলেক্ট অল () কল করার সময় .ক্লিক ইভেন্টটি কাজ করবে না কারণ ব্যবহারকারী মাউসের সাহায্যে কোনও পাঠ্য নির্বাচন করতে সক্ষম হবে না; .SelectAll () কলটি ব্যবহারকারীর পাঠ্য নির্বাচনকে ওভাররাইটিং করে রাখবে।

ফোকাস / এন্ট্রি ইভেন্ট প্রবেশের উপর বিগিনআইভোক ((অ্যাকশন) টেক্সটবক্স.সিলেক্টআল) কল করা কাজ করে না কারণ এটি উপরের নিয়ম # 2 ভঙ্গ করে, এটি ব্যবহারকারীর নির্বাচনকে ফোকাসে ওভাররাইড করে রাখবে।


3
দয়া করে পরিষ্কার করুন এটি একটি "রিচটেক্সটবক্স" এর জন্য।
নেসসিও

নেসসিও, একটি পাঠ্য বাক্স বা একটি সমৃদ্ধ পাঠ্য বাক্স করবে। আমি আপনার পাঠ্য বাক্সেও সমাধানটি চেষ্টা করেছি।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

এটি একটি বিমূর্ততা ফাঁস। এটি ডাব্লুএম_মাউসএ্যাকটিভেটিকে পতাকাঙ্কিত করার সর্বোত্তম উপায় এবং ডাব্লুএম_মাউসএ্যাকটিভিটিভ-না থাকলে ডাব্লুএম_এসটিএফফোকাসে সমস্ত নির্বাচন করুন।
wqw

ডাব্লুপিএফ সংস্করণ: স্ট্যাকওভারফ্লো
জোনাথন অ্যালেন

উত্তর:


109

সবার আগে, উত্তরের জন্য ধন্যবাদ! 9 টি মোট উত্তর। ধন্যবাদ.

খারাপ খবর: সমস্ত উত্তরের কিছু ছিটেফোঁটা ছিল বা বেশ সঠিকভাবে কাজ করে নি (বা মোটেও)। আমি আপনার প্রতিটি পোস্টে একটি মন্তব্য যুক্ত করেছি।

সুসংবাদ: আমি এটি কার্যকর করার জন্য একটি উপায় খুঁজে পেয়েছি। এই সমাধানটি বেশ সোজাসাপ্টা এবং সমস্ত পরিস্থিতিতে কাজ করছে বলে মনে হচ্ছে (নীচে চাপানো, পাঠ্য নির্বাচন করা, ট্যাবিং ফোকাস ইত্যাদি)

bool alreadyFocused;

...

textBox1.GotFocus += textBox1_GotFocus;
textBox1.MouseUp += textBox1_MouseUp;
textBox1.Leave += textBox1_Leave;

...

void textBox1_Leave(object sender, EventArgs e)
{
    alreadyFocused = false;
}


void textBox1_GotFocus(object sender, EventArgs e)
{
    // Select all text only if the mouse isn't down.
    // This makes tabbing to the textbox give focus.
    if (MouseButtons == MouseButtons.None)
    {
        this.textBox1.SelectAll();
        alreadyFocused = true;
    }
}

void textBox1_MouseUp(object sender, MouseEventArgs e)
{
    // Web browsers like Google Chrome select the text on mouse up.
    // They only do it if the textbox isn't already focused,
    // and if the user hasn't selected all text.
    if (!alreadyFocused && this.textBox1.SelectionLength == 0)
    {
        alreadyFocused = true;
        this.textBox1.SelectAll();
    }
}

আমি যতদূর বলতে পারি, এটি কোনও পাঠ্যবক্সকে ওয়েব ব্রাউজারের অ্যাড্রেস বারের মতো ঠিক আচরণ করবে।

আশা করি এটি পরের লোকটিকে সহায়তা করবে যিনি এই ছদ্মবেশী সহজ সমস্যাটি সমাধান করার চেষ্টা করেন।

ধন্যবাদ, বন্ধুরা, আপনার সমস্ত উত্তরগুলির জন্য যা আমাকে সঠিক পথে পরিচালিত করতে সহায়তা করেছিল।


ফোকাস যখন প্রোগ্রাম্যাটিকভাবে একটি পাঠ্যবক্সে সেট করা থাকে তখন কী হবে? আমি এখানে যেমন আলোচনা করেছি তেমন সমস্যাটি রয়েছে: স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 24790704/… আমি একটি ফ্যাশনের পরেও এটি সমাধান করতে সক্ষম হয়েছি, তবে আমার "ফিক্স "টি বরং কলুষিত বলে মনে হচ্ছে বলে আমি এখনও এতে ঘাবড়েছি am
বি ক্লে শ্যানন

আপনি লিখেছেন, "কলিং .সলেক্টএল () নির্বাচন করার সময় .এল্টার বা .গোটফোকাস ইভেন্টগুলি কাজ করবে না কারণ ব্যবহারকারী যদি পাঠ্যবক্সটি ক্লিক করেন তবে ক্যারেটটি যেখানে ক্লিক করা হবে সেখানে স্থান দেওয়া হবে, সুতরাং সমস্ত পাঠ্যটি অনির্বাচিত করুন।" আমার কাছে গটফোকাস ইভেন্টে সিলেক্টল রয়েছে যা বেশিরভাগ অংশেই কাজ করে। প্রকৃতপক্ষে, আমি ভাবব যে ব্যবহারকারী যেখানে ক্লিক করেছেন সেখানে কর্সারটি "একটি ভাল জিনিস"। আমি যখনই পাঠ্যবক্সে প্রোগ্রাম্যাটিকভাবে ফোকাস সেট করে থাকি তখনই এটি সর্বদা নির্বাচিত হওয়া চাই।
বি ক্লে শ্যানন

এবং আমি আবার এখানে আছি! :)
ডটনেট

3
আপনার alreadyFocused = true;যদি আই-স্টেটমেন্টের বাইরে মাউসআপে সরানো উচিত । কারণ আপনি যদি অবিলম্বে পাঠ্যের অংশগুলি নির্বাচন করেন তবে পরবর্তী ক্লিকটি পুরো পাঠ্যটি আবার নির্বাচন করবে।
রবার্ট এস

নীচে একটি লাইনারের উত্তর রয়েছে --- বিগিনিউভোক ((অ্যাকশন) মাই টেক্সটবক্স.সিলিটএল); --- তাকানো মূল্যবান। এটি প্রয়োজনীয় সমস্ত কিছু করে দেখে মনে হচ্ছে
জেনারেল গ্রে

78

আমি এর একটি সহজ সমাধান খুঁজে পেয়েছি। এটি সিলেক্টল-অলঙ্ক্রোনিকালি ব্যবহার করে লাথি মেরে জড়িত Control.BeginInvokeযাতে এটি প্রবেশ ও ক্লিক ইভেন্টগুলি ঘটে যাওয়ার পরে ঘটে:

সি # তে:

private void MyTextBox_Enter(object sender, EventArgs e)
{
    // Kick off SelectAll asyncronously so that it occurs after Click
    BeginInvoke((Action)delegate
    {
        MyTextBox.SelectAll();
    });
}

ভিবি.নেটে ( কৃষ্ণু দেকে ধন্যবাদ )

Private Sub MyTextBox_Enter(sender As Object, e As EventArgs) Handles MyTextBox.Enter 
    BeginInvoke(DirectCast(Sub() MyTextBox.SelectAll(), Action)) 
End Sub

5
স্মার্টতম উত্তর আমি খুঁজে পেয়েছি .. অনেক অনেক ধন্যবাদ .. VB.net এর জন্য এখানে সমাধানটি .. Private Sub MyTextBox_Enter(sender As Object, e As EventArgs) Handles MyTextBox.Enter BeginInvoke(DirectCast(Sub() MyTextBox.SelectAll(), Action)) End Sub
কৃষ্ণু দে

ক্লাস অনেক 'সেরা সমাধান, এই জাতীয় ওয়েব ব্রাউজার ইউআরএল বার, অনেক ক্লাস শেষ ক্লাস
ar.dll

7
নেট 4.0 এ আপনি করতে পারেন: বিগিনিউভোক ((অ্যাকশন) মাই টেক্সটবক্স.সিলিটএল);
জোয়েলফ্যান

2
দুর্ভাগ্যক্রমে, বিগেইনভোক আমার পক্ষে কাজ করে না (ডট নেট এর আমার ধ্বংসাত্মক ধূলিকণার কারণে সন্দেহাতীত)। "নিয়ন্ত্রণ" প্রস্তুত করা হচ্ছে। এটি কোনও উপকারে আসে না বা নিজেই টেক্সটবক্সের নাম প্রচার করে না। একা, এবং ম্লানভাবে loitering ...
বি ক্লে শ্যানন

2
দ্রষ্টব্য, এই সমাধানটি প্রশ্নের বর্ণনায় ঠিক তেমন আচরণ করে না। বিশেষত Mouse down and drag in the textbox should select only the text I've highlighted with the mouse.কাঙ্ক্ষিত মতো কাজ করে না। তবে এখনও সবচেয়ে সংক্ষিপ্ত এবং মার্জিত সমাধান :)
মার্কাস মঙ্গেলসডর্ফ

30

আপনার সমাধানটি ভাল তবে একটি নির্দিষ্ট ক্ষেত্রে ব্যর্থ। আপনি যদি কেবল ক্লিকের পরিবর্তে পাঠ্য সীমা নির্বাচন করে পাঠ্যবক্সকে ফোকাস দেন তবে ইতিমধ্যে ফোকাসযুক্ত পতাকাটি সত্য হয়ে যায় না, তাই আপনি যখন দ্বিতীয়বার টেক্সটবক্সে ক্লিক করেন তখন সমস্ত পাঠ্যটি নির্বাচিত হয়।

সমাধানটির আমার সংস্করণটি এখানে। আমি কোডটি এমন একটি ক্লাসেও রেখেছি যা টেক্সটবক্সের উত্তরাধিকার সূত্রে আসে তাই যুক্তিটি খুব সুন্দরভাবে লুকানো থাকে।

public class MyTextBox : System.Windows.Forms.TextBox
{
    private bool _focused;

    protected override void OnEnter(EventArgs e)
    {
        base.OnEnter(e);
        if (MouseButtons == MouseButtons.None)
        {
            SelectAll();
            _focused = true;
        }
    }

    protected override void OnLeave(EventArgs e)
    {
        base.OnLeave(e);
        _focused = false;
    }

    protected override void OnMouseUp(MouseEventArgs mevent)
    {
        base.OnMouseUp(mevent);
        if (!_focused)
        {
            if (SelectionLength == 0)
                SelectAll();
            _focused = true;
        }
    }
}

2
কাস্টম পাঠ্যবক্সের পরামর্শ এবং পুরোপুরি কার্যকর সমাধানের জন্য +1!
5:51

ভয়ঙ্কর সমাধান। আপনার কোডটি ঠিক আমার সমাধানে অনুলিপি করেছেন, নির্দোষদের রক্ষার জন্য নাম স্থান পরিবর্তন করেছেন এবং পুরোপুরি কাজ করেছেন worked ধন্যবাদ!
কেনসদেব

8

এটি কিছুটা ক্লডজি, তবে আপনার ক্লিক ইভেন্টে ব্যবহার করুন SendKeys.Send( "{HOME}+{END}" );


Woofta! তাও হ্যাকারি কিছুটা! :-) পরামর্শের জন্য ধন্যবাদ. আরও ভাল ধারণা?
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

হ্যাকিং আসলেই, তবে এটি মোটেও খারাপ লাগে না
টেরি

3
বিবেচনা করুন যে অ্যান্টি-ভাইরাস প্রোগ্রামগুলি প্রচুর পরিমাণে বিরত থাকে এবং SEND কীগুলি দূষিত হিসাবে অবরুদ্ধ করে। এটি একটি দুর্দান্ত সমাধান নয়।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

4

পাঠ্যবক্সের ইভেন্ট ক্লিক করুন? বা এমনকি মাউসক্যাপচার চ্যাঞ্জড ইভেন্টটি আমার পক্ষে কাজ করে। - ঠিক আছে. কাজ করে না

সুতরাং আপনার 2 টি কাজ করতে হবে:

private bool f = false;

private void textBox_MouseClick(object sender, MouseEventArgs e)
{ 
  if (this.f) { this.textBox.SelectAll(); }
  this.f = false;
}

private void textBox_Enter(object sender, EventArgs e)
{
  this.f = true;
  this.textBox.SelectAll();
}
private void textBox_MouseMove(object sender, MouseEventArgs e) // idea from the other answer
{
  this.f = false; 
}

ট্যাবিংয়ের জন্য কাজ করে (একটিকে টেক্সটবক্সের মাধ্যমে) - কেবলমাত্র সন্নিবেশের ক্ষেত্রে সিলেক্টএল () কে কল করুন ...


ঠিক আছে জাকুব, এটি আংশিকভাবে কাজ করে। আমি যদি পাঠ্য বাক্সে ট্যাব করি তবে এটি ফোকাস করা দরকার। এটি কি আপনার সমাধান নিয়ে কাজ করবে? (আপনি যদি আমাকে কীভাবে তা দেখাতে পারেন তবে আমি আপনার উত্তরটিকে সঠিক উত্তর হিসাবে চিহ্নিত করব))
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

জাকুব, এখন আপনি কোড পোস্ট করেছেন, মনে হয় এটি কখনও কখনও কাজ করে। সর্বদা না; এখনই আমি পাঠ্য বাক্সে ক্লিক করছি এবং এটি সব নির্বাচন করছে না।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

কখনও কখনও আমি পাঠ্যটি ক্লিক করব এবং এটি সব নির্বাচন করে না। এটি কোনওরকম .f ক্ষেত্রটি যা হওয়া উচিত তা সেট করা হয় না এবং তারপরে সিলেক্টএল কল হয় না। এটা দেখেনি?
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

আমি কেবল জানি মাউসআউউয়ের কারণে আপনি মাউসটি সরানোর সময় ধীর-ক্লিক করতে পারেন (বিশেষত প্রশস্ত অক্ষরের উপরে) -> পতাকাটি আনসেট করুন। আপনি মাউসমোভ ইভেন্টে কোডটি সরিয়ে ফেলতে পারেন, তবে আপনি যা পেয়েছেন তার থেকে - ট্যাবগিনের পরে নিয়ন্ত্রণ করতে হবে এবং তারপরে ক্লিক করুন - পুনরায় নির্বাচন করুন
জাকুব কোত্রলা

4

আমি যে এক লাইনের উত্তরটি ব্যবহার করছি ... আপনি নিজেরাই লাথি মারছেন ...

প্রবেশের ইভেন্টে:

txtFilter.BeginInvoke (নতুন মেথোডিনভোকার (txtFilter.SelectAll));


1
না, কাজ করে না এটি সমস্ত পাঠ্য নির্বাচন করে, ঠিক আছে, তবে এটি অন্যান্য সমস্যার মধ্যেও ব্যবহারকারীকে পাঠ্যের কেবলমাত্র অংশটি নির্বাচন করতে বাধা দেয়।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

দুঃখিত, আপনি যে আচরণটি খুঁজছিলেন তা অবশ্যই ভুল বুঝেছি। প্রবেশের পরে এটি সমস্ত নির্বাচন করে, যদি আপনি ক্লিক করে ধরে রাখেন এবং এটি আপনার কর্সার থেকে শুরু করে নির্বাচন করুন। আমি মনে করি আপনি আমার কাছে যা ব্যবহার করতে পারেন এবং সিলেক্টএলকে আপনার নিজের নির্বাচিত যুক্তি দিয়ে প্রতিস্থাপন করতে পারেন। notifywire.com/demos/2009-04-14_1248.swf

দুর্দান্ত কাজ! প্রথম ক্লিক বাক্সে প্রবেশ করে; তারপরে পাঠ্য নির্বাচন করতে ক্লিক করুন এবং টেনে আনুন।
ডি_বেস্টার

দ্রষ্টব্য: এটি কোনও ওয়েব ব্রাউজারের ঠিকানা বারের মতো কাজ করে না। একটি ওয়েব ব্রাউজারের ঠিকানা বার আপনাকে পাঠ্যবক্সে মাউস নামাতে এবং টেক্সট বাক্সটিতে ফোকাস না থাকলেও টেনে আনতে / নির্বাচন করতে দেয়। এই সমাধান যে সমাধান করে না। যদি আপনি এটির সাথে ঠিক থাকেন তবে দুর্দান্ত, তবে এটি এই প্রশ্নের প্রয়োজনীয়তা পূরণ করে না।
যিহূদা গ্যাব্রিয়েল হিমাঙ্গো 4'16

3
'Inside the Enter event
TextBox1.SelectAll();

ঠিক আছে, এখানে চেষ্টা করার পরে আপনি যা চান তা হ'ল:

  • এন্টার ইভেন্টে একটি পতাকা শুরু করুন যা জানিয়েছে যে আপনি প্রবেশ ইভেন্টে ছিলেন
  • ক্লিক ইভেন্টে, আপনি যদি পতাকাটি সেট করেন, কল করুন S নির্বাচন করুন সমস্ত () নির্বাচন করুন এবং পতাকাটি পুনরায় সেট করুন।
  • মাউসমোভ ইভেন্টে প্রবেশ করা পতাকাটিকে মিথ্যা হিসাবে সেট করুন, যা আপনাকে প্রথমে পাঠ্যবক্সে প্রবেশ না করে হাইলাইট ক্লিক করতে দেয়।

এটি এন্ট্রি-তে সমস্ত পাঠ্য নির্বাচন করেছে, তবে পরবর্তীকালে আমাকে পাঠ্যের কিছু অংশ হাইলাইট করার অনুমতি দিয়েছে বা আপনাকে প্রথম ক্লিকে হাইলাইট করার অনুমতি দিয়েছে।

অনুরোধ দ্বারা:

    bool entered = false;
    private void textBox1_Enter(object sender, EventArgs e)
    {
        entered = true;
        textBox1.SelectAll();   //From Jakub's answer.
    }

    private void textBox1_Click(object sender, EventArgs e)
    {
        if (entered) textBox1.SelectAll();
        entered = false;
    }

    private void textBox1_MouseMove(object sender, MouseEventArgs e)
    {
        if (entered) entered = false;
    }

আমার জন্য, নিয়ন্ত্রণে ট্যাবিং সমস্ত পাঠ্য নির্বাচন করে।


আপনার সমাধানটি জাকুব এর সমাধানের মতো। এটি ক্লিক করার জন্য কাজ করে। পাঠ্য বাক্সে ট্যাব করার সময় এটি কী কাজ করতে পারে? (যেমন আপনার ব্রাউজারের ঠিকানা বারে ট্যাব করা সমস্ত পাঠ্যও নির্বাচন করবে))
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

হ্যাঁ এটি ট্যাবিংয়ের জন্যও কাজ করে। আমি একটি পরীক্ষামূলক অ্যাপ্লিকেশন লিখেছিলাম এবং এটি এটি কাজ করে চলেছে।
ম্যাজিক্যাট

ট্যাবিংয়ের জন্য কাজ করছে বলে মনে হচ্ছে না। ট্যাবিংয়ের জন্য কাজ করা কোডটি কি আপনি আমাদের দেখাতে পারেন?
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

3

পরবর্তী স্তরে সমাধান গ্রহণে এখানে একটি সহায়ক ফাংশন - উত্তরাধিকার ছাড়াই পুনরায় ব্যবহার করুন।

    public static void WireSelectAllOnFocus( TextBox aTextBox )
    {
        bool lActive = false;
        aTextBox.GotFocus += new EventHandler( ( sender, e ) =>
        {
            if ( System.Windows.Forms.Control.MouseButtons == MouseButtons.None )
            {
                aTextBox.SelectAll();
                lActive = true;
            }
        } );

        aTextBox.Leave += new EventHandler( (sender, e ) => {
            lActive = false;
        } );

        aTextBox.MouseUp += new MouseEventHandler( (sender, e ) => {
            if ( !lActive )
            {
                lActive = true;
                if ( aTextBox.SelectionLength == 0 ) aTextBox.SelectAll();
            }   
        });
    }

এটি ব্যবহার করতে কেবল টেক্সটবক্সকে অতিক্রম করে ফাংশনটি কল করুন এবং এটি আপনার জন্য সমস্ত অগোছালো বিটের যত্ন নেবে। আমি ফর্ম_লড ইভেন্টে আপনার সমস্ত পাঠ্য বাক্সগুলি ওয়্যারিংয়ের পরামর্শ দিচ্ছি। আপনি এই ফাংশনটি আপনার ফর্মটিতে রাখতে পারেন, বা যদি আপনার আমার মতো হয় তবে কোথাও একটি ইউটিলিটি ক্লাসে আরও পুনরায় ব্যবহারের জন্য।


2

এটি একটি WPF / XAML টেক্সটবক্সের জন্য কাজ করেছে।

    private bool initialEntry = true;
    private void TextBox_SelectionChanged(object sender, RoutedEventArgs e)
    {
        if (initialEntry)
        {
            e.Handled = true;
            initialEntry = false;
            TextBox.SelectAll();
        }
    }
    private void TextBox_GotFocus(object sender, RoutedEventArgs e)
    {
        TextBox.SelectAll();
        initialEntry = true;      
    }

2

এটি নাঝেনরির জনপ্রিয় উত্তরের মতো, তবে সাবক্লাস না করা আমার পক্ষে সহজ মনে হচ্ছে:

Private LastFocused As Control = Nothing

Private Sub TextBox1_Enter(sender As Object, e As System.EventArgs) Handles TextBox1.Enter, TextBox2.Enter, TextBox3.Enter
    If MouseButtons = Windows.Forms.MouseButtons.None Then LastFocused = sender
End Sub

Private Sub TextBox1_Leave(sender As Object, e As System.EventArgs) Handles TextBox1.Leave, TextBox2.Leave, TextBox3.Leave
    LastFocused = Nothing
End Sub

Private Sub TextBox1_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseUp, TextBox2.MouseUp, TextBox3.MouseUp
    With CType(sender, TextBox)
        If LastFocused IsNot sender AndAlso .SelectionLength = 0 Then .SelectAll()
    End With
    LastFocused = sender
End Sub

1

সিলেক্টল কখনও আমার পক্ষে কাজ করেনি।

এইটা কাজ করে.

ActiveControl = textBox1;
textBox1->SelectionStart = 0;
textBox1->SelectionLength = textBox1->Text->Length;

পাঠ্য বাক্সে ট্যাবিং ফোকাস নিয়ে আসে এমন ক্ষেত্রে এটি দায়ী নয়। এটি এই থ্রেডে আলোচিত অন্যান্য কিছু সমস্যাও প্রদর্শন করে।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

1

আমি আরও সহজ সমাধান খুঁজে পেয়েছি:

একটি পাঠ্যবক্সে ক্লিক করার সময় সমস্ত পাঠ্য নির্বাচন করা হয়েছে তা নিশ্চিত করার জন্য, ক্লিক হ্যান্ডলারটি এন্টার হ্যান্ডলারটি কল করে তা নিশ্চিত করুন। অতিরিক্ত ভেরিয়েবলের প্রয়োজন নেই!

উদাহরণ:

private void textBox1_Click(object sender, EventArgs e){
        textBox1_Enter(sender, e);
    }

private void textBox1_Enter(object sender, EventArgs e){
        TextBox tb = ((TextBox)sender);
        tb.SelectAll();
    }

এটি নিয়ন্ত্রণে ট্যাবিংয়ের মাধ্যমে ফোকাসের জন্য কাজ করে না, তাই না? এছাড়াও, যখন আপনি কিছু না বাছাই করে কিছু পাঠ্য নির্বাচন করতে চান তখন কী হবে?
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

আসলে, এটি এতে ট্যাব করে কাজ করে! আমি এমএস ভিজ্যুয়াল সি # 2010 ব্যবহার করে এটি একটি ডামি প্রজেক্টে স্রেফ পরীক্ষা করেছি this এই সমাধানটির সাথে বিরক্তিকর বিষয়টি হ'ল আপনি সমস্তটি নির্বাচন না করে কিছু পাঠ্য নির্বাচন করতে পারবেন না। আপনি যদি এটি করতে চান তবে অবশ্যই কোনও কোডের প্রয়োজন নেই, আপনি কেবল নিজের মাউসটি ব্যবহার করতে পারেন এবং এটি (বা কীবোর্ড ব্যবহার করে) নির্বাচন করতে পারেন।
পিটার হিমেরিক

এবং সে কারণেই এই সমাধানটি উপস্থাপিত সমস্যাটির সমাধান করে না: এটি ব্রাউজারের ঠিকানা বাক্সের মতো আচরণ করে না, কারণ আপনি সমস্ত পাঠ্য নির্বাচন না করেই ঠিকানার পৃথক অংশগুলিতে ক্লিক করতে পারবেন না।
যিহূদা গ্যাব্রিয়েল হিমাঙ্গো

ঠিক আছে, আমি আপনাকে বলতে চাইছি কি। প্রশ্নের শিরোনাম এবং ওয়েব ব্রাউজারের ঠিকানা বারের উদাহরণটি আপনাকে বোঝায় না যে আপনি পাঠ্যের কিছু অংশ নির্বাচন করতে সক্ষম হবেন। আপনি কেবল আপনার প্রশ্নের শেষ বাক্যে এটির পক্ষ হিসাবে উল্লেখ করেছেন। শুভেচ্ছা।
পিটার হিমেরিক

0
private bool _isSelected = false;
private void textBox_Validated(object sender, EventArgs e)
{
    _isSelected = false;
}

private void textBox_MouseClick(object sender, MouseEventArgs e)
{
    SelectAllText(textBox);
}

private void textBox_Enter(object sender, EventArgs e)
{
    SelectAllText(textBox);
}

private void SelectAllText(TextBox text)
{
    if (!_isSelected)
    {
        _isSelected = true;
        textBox.SelectAll();
    }
}

আমি কেবল একটি রিচটেক্সটবক্স দিয়ে পরীক্ষা করেছি। কাজ করে না। পাঠ্যবক্সে ক্লিক করা সমস্ত পাঠ্য নির্বাচন করতে প্রদর্শিত হবে না। (
কার্টরটি

0

মজার বিষয় হচ্ছে, ড্রপডাউনস্টাইল = সিম্পল সহ একটি কম্বোবক্সের আপনি যে আচরণটি সন্ধান করছেন ঠিক তার ঠিক তেমন আচরণ করেছে I

(যদি আপনি তালিকাটি না দেখানোর জন্য নিয়ন্ত্রণের উচ্চতা হ্রাস করেন - এবং তারপরে আরও কয়েক পিক্সেল আরও - কম্বোবক্স এবং টেক্সটবক্সের মধ্যে কোনও কার্যকর পার্থক্য নেই))


আকর্ষণীয়, তবে টেক্সটবক্স এবং রিচটেক্সটবক্সে কাজ করার জন্য সত্যই আমার এটি দরকার।
যিহূদা গ্যাব্রিয়েল হিমাঙ্গো

0

আপনি কেবল পাঠ্য বাক্সের মাউসডাউন-ইভেন্টটি ব্যবহার করবেন না কেন? এটি আমার পক্ষে ভাল কাজ করে এবং অতিরিক্ত বুলিয়ান লাগবে না। খুব পরিষ্কার এবং সাধারণ, যেমন:

private void textbox_MouseDown(object sender, MouseEventArgs e) {
    if (textbox != null && !string.IsNullOrEmpty(textbox.Text))
    {
        textbox.SelectAll();
    } }

না, এর সাথে দু'পক্ষের সমস্যা: পাঠ্যবাক্সটিতে ইতিমধ্যে ফোকাস থাকলে সেটির জন্য অ্যাকাউন্ট নেই (আমরা প্রতিটি মাউসকে নীচে নির্বাচন করতে চাই না, কেবল যখন পাঠ্যবক্সে ফোকাস ছিল না), আপনাকে কেবল নির্বাচন করতে দেয় না পাঠ্যের একটি অংশ, পাঠ্যবক্সে ট্যাবিংয়ের মাধ্যমে ফোকাস আনার সময় কাজ করে না।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

0

আমি মাউসআপ ইভেন্টের মধ্যে সিলেক্টএলকে ফোন করেছি এবং এটি আমার পক্ষে ভাল কাজ করেছে।

    private bool _tailTextBoxFirstClick = false;

    private void textBox1_MouseUp(object sender, MouseEventArgs e)
    {
        if(_textBoxFirstClick)           
            textBox1.SelectAll();

        _textBoxFirstClick = false;
    }  

    private void textBox1_Leave(object sender, EventArgs e)
    {
        _textBoxFirstClick = true;
        textBox1.Select(0, 0);
    }

হ্যাঁ, কেন এটি সমস্ত পরিস্থিতিতে কাজ করে না এর জন্য অন্যান্য উত্তর (এবং মন্তব্য) দেখুন।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

আমি এই সমাধানের জন্য ট্যাবটি পরীক্ষা করিনি। আমার খারাপ। নির্দেশ করার জন্য ধন্যবাদ। আপনার কাছে এখন সম্পূর্ণ সমাধান আছে তা দেখে খুশী। এবং মাউসআপের জন্য আমার পরামর্শটি আপনার সমাধানে অন্তর্ভুক্ত করে জেনেও খুশি হয়েছিল।
শ্রীজিথ কে।

0

টেক্সটবক্স বা মাস্কটেক্সটবক্স থেকে কেবল একটি ক্লাস নেওয়া:

public class SMaskedTextBox : MaskedTextBox
{
    protected override void OnGotFocus(EventArgs e)
    {
        base.OnGotFocus(e);
        this.SelectAll();
    }
}

এবং এটি আপনার ফর্মগুলিতে ব্যবহার করুন।


এটি কাজ করে না। কেন তা বুঝতে, অন্যান্য উত্তর এবং মন্তব্যগুলি দেখুন।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

0

আপনি কি এমএসডিএন ফোরাম "উইন্ডোজ ফর্ম জেনারেল" এর প্রস্তাবিত সমাধানটি চেষ্টা করেছেন যা টেক্সটবক্সকে কেবল সাবক্লাস করে?


আমি বিশ্বাস করি আমরা এটি চেষ্টা করেছি। যাইহোক, আমি সেই সমাধানটির সাথে ঘাটতি মনে করি না।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

0

প্রকৃতপক্ষে গটফোকাস হ'ল সঠিক ইভেন্ট (বার্তাটি) যা আপনার আগ্রহী, যেহেতু আপনি কীভাবে নিয়ন্ত্রণে আসেন না কেন আপনি শেষ পর্যন্ত এটিকে পাবেন। প্রশ্নটি আপনি কখন নির্বাচন করুন সমস্ত () কল করেন।

এটা চেষ্টা কর:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        this.textBox1.GotFocus += new EventHandler(textBox1_GotFocus);
    }

    private delegate void SelectAllDelegate();    
    private IAsyncResult _selectAllar = null; //So we can clean up afterwards.

    //Catch the input focus event
    void textBox1_GotFocus(object sender, EventArgs e)
    {
        //We could have gotten here many ways (including mouse click)
        //so there could be other messages queued up already that might change the selection.
        //Don't call SelectAll here, since it might get undone by things such as positioning the cursor.
        //Instead use BeginInvoke on the form to queue up a message
        //to select all the text after everything caused by the current event is processed.
        this._selectAllar = this.BeginInvoke(new SelectAllDelegate(this._SelectAll));
    }

    private void _SelectAll()
    {
        //Clean-up the BeginInvoke
        if (this._selectAllar != null)
        {
            this.EndInvoke(this._selectAllar);
        }
        //Now select everything.
        this.textBox1.SelectAll();
    }
}

আলী, এই কাজ করে না। পাঠ্যের মাঝখানে চেপে ধরার চেষ্টা করুন। 1 সেকেন্ডের জন্য মাউস বোতামটি ধরে রাখুন।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

0

কোনও ফর্মের পাঠ্যবাক্সগুলির একটি গ্রুপের জন্য:

private System.Windows.Forms.TextBox lastFocus;   

private void textBox_GotFocus(object sender, System.Windows.Forms.MouseEventArgs e)   
{
    TextBox senderTextBox = sender as TextBox;
    if (lastFocus!=senderTextBox){
        senderTextBox.SelectAll();
    }
    lastFocus = senderTextBox;   
}

1
এটি সঠিকভাবে কাজ করে না; প্রস্তাবিত অন্যান্য জবাবগুলিতে আমার উত্তরগুলি দেখুন। নির্বাচন করুন সমস্ত ()। এটি কাজ করে না কারণ আপনি পাঠ্য বাছাই করার চেষ্টা করার সময় যদি পাঠ্যবক্সটি প্রবেশ করেন তবে এটি সমস্ত পাঠ্য নির্বাচন করে আপনার পাঠ্য নির্বাচনকে ভঙ্গ করে। আপনি কেবলমাত্র পাঠ্য নির্বাচন করতে চান যদি ফোকাসটি মাউস আপ বা এটিতে ট্যাবিংয়ের মাধ্যমে পাঠ্যবক্সে প্রবেশ করে তবে ফোকাসটি যদি মাউস ডাউনের মাধ্যমে ঘটেছিল।
যিহূদা গ্যাব্রিয়েল হিমাঙ্গো

0

আমি জানি এটি ইতিমধ্যে সমাধান করা হয়েছিল তবে আমার কাছে একটি পরামর্শ রয়েছে যা আমি মনে করি আসলেই বরং সহজ।

মাউস আপ ইভেন্টে আপনাকে যা করতে হবে তা স্থান

if(textBox.SelectionLength = 0)
{
    textBox.SelectAll();
}

মনে হচ্ছে এটি VB.NET- এ আমার জন্য কাজ করছে (আমি জানি এটি একটি সি # প্রশ্ন ... দুঃখজনকভাবে আমি আমার চাকরিতে ভিবি ব্যবহার করতে বাধ্য হই .. এবং আমার এই সমস্যাটি ছিল, যা আমাকে এখানে নিয়ে এসেছিল ... )

আমি এটি নিয়ে এখনও কোনও সমস্যা পাইনি .. এটি তাত্ক্ষণিকভাবে ক্লিক ক্লিক না করে ব্যতীত, তবে আমার তাতে সমস্যা ছিল ...


1
আসল অনুরোধটি কাজ করতে চাইলে আপনি যখন ক্ষেত্রটিতেও ট্যাব করবেন।
ডন কার্কবি

2
হ্যাঁ, এটি সমস্ত পরিস্থিতিতে কাজ করে না। আপনি কেবল পাঠ্যবক্সে ক্লিক করলেই এটি কাজ করে। এবং তারপরেও, পাঠ্য বাক্সে নির্বাচন ইতিমধ্যে উপস্থিত থাকলে ব্রাউজারের অ্যাড্রেস বার আচরণ করে না ves
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

0

নিম্নলিখিত সমাধানটি আমার পক্ষে কাজ করে। আমি যোগ করেছি OnKeyDownএবং OnKeyUpপাঠ্যবক্স পাঠ্যকে সর্বদা নির্বাচিত রাখতে ইভেন্টের ওভাররাইড করব।

    public class NumericTextBox : TextBox
{
    private bool _focused;
    protected override void OnGotFocus(EventArgs e)
    {
        base.OnGotFocus(e);
        if (MouseButtons == MouseButtons.None)
        {
            this.SelectAll();
            _focused = true;
        }
    }
    protected override void OnEnter(EventArgs e)
    {
        base.OnEnter(e);
        if (MouseButtons == MouseButtons.None)
        {
            SelectAll();
            _focused = true;
        }
    }

    protected override void OnLeave(EventArgs e)
    {
        base.OnLeave(e);
        _focused = false;
    }

    protected override void OnMouseUp(MouseEventArgs mevent)
    {
        base.OnMouseUp(mevent);
        if (!_focused)
        {
            if (SelectionLength == 0)
                SelectAll();
            _focused = true;
        }
    }

    protected override void OnKeyUp(KeyEventArgs e)
    {
        base.OnKeyUp(e);

        if (SelectionLength == 0)
            SelectAll();
        _focused = true;
    }
    protected override void OnKeyDown(KeyEventArgs e)
    {
       base.OnKeyDown(e);
       if (SelectionLength == 0)
            SelectAll();
        _focused = true;
    }
}

2
এটি কি আপনাকে পাঠ্যবক্সে মাউস নেওয়ার অনুমতি দেয়, কিছু পাঠ্য নির্বাচন করতে আপনার কার্সারটিকে টেনে নিয়ে যায়, তারপরে মাউস আপ করে?
যিহূদা গ্যাব্রিয়েল হিমাঙ্গো

0

আপনি নিয়ন্ত্রণ ছাড়লে বিক্রয় সেট করুন। ফিরে আসার সময় এটি সেখানে থাকবে। ফর্মের চারপাশে ট্যাব এবং আপনি যখন নিয়ন্ত্রণে ফিরে যান, সমস্ত পাঠ্য নির্বাচন করা হবে।

আপনি যদি মাউসের সাহায্যে প্রবেশ করেন তবে ক্যারেটটি ঠিক সেই বিন্দুতে স্থাপন করা হবে যেখানে আপনি ক্লিক করেছেন।

private void maskedTextBox1_Leave(object sender, CancelEventArgs e)
    {
        maskedTextBox1.SelectAll();
    }

আপনি যদি মাউস দ্বারা প্রবেশ করেন তবে এটি ইতিমধ্যে মনোনিবেশ না করা থাকলে সমস্ত পাঠ্য নির্বাচন করা উচিত। এটি এটি সমর্থন করে না।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

0

খুব সহজ সমাধান:

    private bool _focusing = false;

    protected override void OnEnter( EventArgs e )
    {
        _focusing = true;
        base.OnEnter( e );
    }

    protected override void OnMouseUp( MouseEventArgs mevent )
    {
        base.OnMouseUp( mevent );

        if( _focusing )
        {
            this.SelectAll();
            _focusing = false;
        }
    }

সম্পাদনা করুন: মূল ওপি মাউস-ডাউন / পাঠ্য-নির্বাচন / মাউস-আপ ক্রম সম্পর্কে বিশেষভাবে উদ্বিগ্ন ছিল, সেক্ষেত্রে উপরের সহজ সমাধানটি পাঠ্যটিকে আংশিকভাবে নির্বাচিত হওয়ার সাথে সমাপ্ত হবে।

এটি * সমস্যার সমাধান করা উচিত (বাস্তবে আমি WM_SETCURSOR বাধা দিই):

    protected override void WndProc( ref Message m )
    {
        if( m.Msg == 32 ) //WM_SETCURSOR=0x20
        {
              this.SelectAll(); // or your custom logic here                
        }

        base.WndProc( ref m );
    }

* আসলে নীচের ক্রমটি আংশিক পাঠ্য নির্বাচনের সাথে শেষ হয় তবে আপনি যদি পাঠ্যবক্সের উপরে মাউসটি সরান তবে সমস্ত পাঠ্য আবার নির্বাচন করা হবে:

মাউস-ডাউন / পাঠ্য-নির্বাচন / মাউস-মুভ-আউট-টেক্সটবক্স / মাউস-আপ


এই সমাধানটি ইতিমধ্যে পোস্ট করা হয়েছিল। এটি কেন কাজ করে না তা জানতে বিদ্যমান উত্তরের মন্তব্যটি দেখুন।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

ট্যাব এবং মাউস সহ কাজ করে, আপনি ফোকাস পেতে পারেন, পাঠ্য নির্বাচন করতে পারেন এবং তারপরে মাউস আপ করতে পারেন। আমি এটি দিয়ে সমস্যাটি দেখতে পাচ্ছি না। আপনি দয়া করে এটি নির্দেশ করতে পারেন?
মাউরো সাম্পিয়েট্রো

0

আমি এই কাজটি সবচেয়ে ভাল খুঁজে পেয়েছি, যখন মাউস ক্লিক করুন এবং অবিলম্বে প্রকাশিত হবে না:

    private bool SearchBoxInFocusAlready = false;
    private void SearchBox_LostFocus(object sender, RoutedEventArgs e)
    {
        SearchBoxInFocusAlready = false;
    }

    private void SearchBox_PreviewMouseUp(object sender, MouseButtonEventArgs e)
    {
        if (e.ButtonState == MouseButtonState.Released && e.ChangedButton == MouseButton.Left &&
            SearchBox.SelectionLength == 0 && SearchBoxInFocusAlready == false)
        {
            SearchBox.SelectAll();
        }

        SearchBoxInFocusAlready = true;
    }

0

আমার সমাধানটি বেশ আদিম তবে আমার উদ্দেশ্যটির জন্য এটি দুর্দান্ত কাজ করে

private async void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
    if (sender is TextBox)
    {
        await Task.Delay(100);
        (sender as TextBox).SelectAll();
    }
}

পাঠ্যের একটি গুচ্ছ নির্বাচন করতে, মাউস টানুন, তারপরে মাউস আপ করতে যখন মাউস নামাতে চান তখন কাজ করে না। আপনার কোড নির্বাচন সাফ করবে এবং সবকিছু নির্বাচন করবে।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

@ জুডাহ হিমাঙ্গো জুপ আপনি যদি একক ক্লিক করেন তবে এটি সবকিছু নির্বাচন করবে। আপনি যদি ক্লিক করেন এবং টেনে আনেন তবে এটি কেবল নির্বাচন নির্বাচন করবে। কমপক্ষে ফায়ারফক্সের ব্রাউজারবারটি ঠিক এই আচরণটি দেখায়।
ব্লু উইজার্ড

যদিও এটি কোনও রেসের শর্ত নয়? যদি আমি দ্রুত মাউস দিয়ে কিছু পাঠ্য নির্বাচন করতে পরিচালিত করি, তবে .SelectAll () পরে আমার নির্বাচনকে ওভাররাইট করে মিলিসেকেন্ডগুলিতে গুলি চালাবে।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

1
ঠিক আছে, আপনি যদি এই জিনিসটির চেয়ে জিনিসগুলি নির্বাচন করতে তাত্ক্ষণিক হন তবে আপনার বিরুদ্ধে কাজ করবে।
ব্লু উইজার্ড

-1

নীচে কাজ বলে মনে হচ্ছে। প্রবেশ ইভেন্টটি ট্যাবটিকে নিয়ন্ত্রণে পরিচালনা করে এবং নিয়ন্ত্রণ ক্লিক করা হলে মাউসডাউন কাজ করে।

    private ########### void textBox1_Enter(object sender, EventArgs e)
    {
        textBox1.SelectAll();
    }

    private void textBox1_MouseDown(object sender, MouseEventArgs e)
    {
        if (textBox1.Focused)
            textBox1.SelectAll();
    }

ভাগ্য নেই, কাজ করে না আমি ভয় করি। কিছু পাঠ্য নির্বাচন করার চেষ্টা করুন। ব্যবহারকারী নির্বাচন করার জন্য যা চেষ্টা করছেন সেগুলি সমস্ত পাঠ্য ওভাররাইট করে।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

-1

উত্তরটি উপরের সমস্তগুলির তুলনায় বেশ সহজ হতে পারে, উদাহরণস্বরূপ (ডাব্লুপিএফ এ):

public void YourTextBox_MouseEnter(object sender, MouseEventArgs e)
    {
        YourTextBox.Focus();
        YourTextBox.SelectAll();
    }

অবশ্যই আপনি কীভাবে এই কোডটি ব্যবহার করতে চান তা আমি জানতে পারি না তবে এখানে দেখার মূল অংশটি হ'ল: প্রথমে কল করুন ocusফোকাস () এবং তারপরে কল করুন S নির্বাচন করুন সমস্ত ();


এটি কাজ করে না, এবং অন্যান্য উত্তরের সদৃশ। উদাহরণস্বরূপ, আপনি যদি টেক্সটবক্সে মাউস নামান, টেনে আনুন তবে এটি পাঠ্যের অংশটি নির্বাচন করা উচিত। এটি এটি ভেঙে দেয় এবং সমস্তটি নির্বাচন করে না।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

-1

প্রবেশ ও ক্লিক ইভেন্টগুলিতে কেবল নির্বাচিত () ব্যবহার করুন

private void textBox1_Enter(object sender, EventArgs e)
        {

            textBox1.SelectAll();
        }
        private void textBox1_Click(object sender, EventArgs e)
        {
            textBox1.SelectAll();
        }

আপনি কিছু পাঠ্য নির্বাচন না করা পর্যন্ত এটি কাজ করে। সম্পূর্ণ ব্যাখ্যার জন্য অন্যান্য উত্তরগুলি দেখুন।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

-1

আমি একটি নতুন ভিবি.নেট ডাব্লুপিএফ প্রকল্প তৈরি করেছি। আমি একটি পাঠ্যবক্স তৈরি করেছি এবং কোডবিহাইন্ডের জন্য নিম্নলিখিতগুলি ব্যবহার করেছি:

Class MainWindow 

    Sub New()

        ' This call is required by the designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.
        AddHandler PreviewMouseLeftButtonDown, New MouseButtonEventHandler(AddressOf SelectivelyIgnoreMouseButton)
        AddHandler GotKeyboardFocus, New KeyboardFocusChangedEventHandler(AddressOf SelectAllText)
        AddHandler MouseDoubleClick, New MouseButtonEventHandler(AddressOf SelectAllText)
    End Sub

    Private Shared Sub SelectivelyIgnoreMouseButton(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
        ' Find the TextBox
        Dim parent As DependencyObject = TryCast(e.OriginalSource, UIElement)
        While parent IsNot Nothing AndAlso Not (TypeOf parent Is TextBox)
            parent = VisualTreeHelper.GetParent(parent)
        End While

        If parent IsNot Nothing Then
            Dim textBox As Object = DirectCast(parent, TextBox)
            If Not textBox.IsKeyboardFocusWithin Then
                ' If the text box is not yet focussed, give it the focus and
                ' stop further processing of this click event.
                textBox.Focus()
                e.Handled = True
            End If
        End If
    End Sub

    Private Shared Sub SelectAllText(ByVal sender As Object, ByVal e As RoutedEventArgs)
        Dim textBox As Object = TryCast(e.OriginalSource, TextBox)
        If textBox IsNot Nothing Then
            textBox.SelectAll()
        End If
    End Sub

End Class
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.