Reflection .NET API
Attachmate.Reflection Assembly / Attachmate.Reflection.Productivity Namespace / IRecentTyping Interface / ListChanged Event
Example


In This Topic
ListChanged Event
In This Topic
Raised when a string is added to or removed from the Recent Typing list.
Syntax
'Declaration
 
Event ListChanged As EventHandler
 
'Usage
 
Dim instance As IRecentTyping
Dim handler As EventHandler
 
AddHandler instance.ListChanged, handler
Example
This sample handles the ListChanged Event to delete the entry "SecretStuff" if it is added to the Recent Typing list.
using System;
using System.Drawing;
using System.Collections.Generic;
using System.Text;
using Attachmate.Reflection.Framework;
using Attachmate.Reflection.Emulation.IbmHosts;
using Attachmate.Reflection.UserInterface;
using Attachmate.Reflection.Productivity;

namespace ConfigureRecentTyping
{
    class Program
    {


        static void Main(string[] args)
        {
            //Start a visible instance of Reflection or get the instance running at the given channel name
            Application app = MyReflection.CreateApplication("myWorkspace", true);

            //Create a terminal from the session document file
            string sessionPath = Environment.GetEnvironmentVariable("USERPROFILE") + @"\Documents\Micro Focus\Reflection\demoSession.rd3x";
            IIbmTerminal terminal = (IIbmTerminal)app.CreateControl(sessionPath);

            //Make the session visible in the workspace
            IFrame frame = (IFrame)app.GetObject("Frame");
            frame.CreateView(terminal);

            IIbmScreen screen = terminal.Screen;

            IProductivity productivityTools = terminal.Productivity;

            IRecentTyping typing = terminal.Productivity.RecentTyping;

            //Enable recent typing
            typing.Enabled = true;

            //Make the Recent Typing panel visible
            typing.RecentTypingPanelVisible = true;

            //Keep the list for the next session
            typing.ClearListOnDisconnect = false;

            //Set the minimum length, in characters, for words added to Recent Typing. 
            typing.MinimumMatch = 5;

            //Set the maximum number of items in the Recent Typing list. 
            typing.MaxListItems = 50;
       
            
            //Remove the user name from the list
            string uName = Environment.UserDomainName;
            typing.DeleteListItem(uName);


            //Add an item to the list
            typing.AddListItem("Kayak");

            typing.ListChanged += typing_ListChanged;



            Console.ReadLine();
        }

        static void typing_ListChanged(object sender, EventArgs e)
        {
            Console.WriteLine("list changed");

            IRecentTyping typing = (IRecentTyping)sender;

            string[] typingEntries = typing.RecentTypingCollection;

            
            //Check and remove sensitive entries
            for (int i = 0; i < typingEntries.Length; i++)
            {
                if (typingEntries[i] == "SecretStuff") 
                {
                    typing.DeleteListItem(i);
                }
            }
        }





    }
}










See Also